Вот мой код:
#include <string>
#include <complex>
class a{
protected:
std::string name;
public:
a(std::string _name): name(_name) {};
virtual void inside(const complex<double> &b, const complex<double> &t) const = 0;
};
Но визуальная студия дает мне эти ошибки для строки, где я объявил виртуальный метод:
Error 1 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
Error 2 error C2143: syntax error : missing ',' before '<'
Я не вижу, что я делаю неправильно.
Аналогично std::string name;
что вы ранее, шаблон complex
правильно называется std::complex
Хотя это и не похоже на ошибки, что здесь не так, что вы пропустили спецификацию пространства имен на уровне complex<double>
. Он также находится в пространстве имен std
, поэтому вам нужно сообщить об этом компилятору. Пытаться:
virtual void inside(const std::complex<double> &b, const std::complex<double> &t) const = 0;