Ошибка при компиляции C4430
#include <iostream>
#include <windows.h>
template<typename Type>
struct MiddleBuffer
{
Type* S = nullptr;
int S_size = 0;
free()
{
delete[] S;
}
};
int main()
{
return 0;
}
При попытке компиляции ошибка
C4430 missing type specifier - int assumed. Note: C++ does not support default-int
Но когда я убираю функцию free() полность, то всё в порядке, почему?
Ответы (1 шт):
Автор решения: Eoan Ermine
→ Ссылка
Вы пытаетесь объявить метод free в структуре MiddleBuffer без указания типа возвращаемого значения, что запрещено, на что и жалуется компилятор.
Так как ваш метод не возвращает никакого значения, необходимо указать void в качестве типа возвращаемого значения:
#include <iostream>
#include <windows.h>
template<typename Type>
struct MiddleBuffer
{
Type* S = nullptr;
int S_size = 0;
void free()
{
delete[] S;
}
};
int main()
{
return 0;
}