我写了一个类,其中有一个构造函数需要2个参数,但是当我尝试使用这些参数的类的对象时,我得到该语法错误,我尝试了解我所知道的一切来解决这个问题但我不能。 代码:语法错误'常量错误
class Vector2D{
public:
Vector2D(int xx, int yy) {}
Vector2D d(0, 0);
};
错误:
Error C2059 syntax error: 'constant' Project1
我写了一个类,其中有一个构造函数需要2个参数,但是当我尝试使用这些参数的类的对象时,我得到该语法错误,我尝试了解我所知道的一切来解决这个问题但我不能。 代码:语法错误'常量错误
class Vector2D{
public:
Vector2D(int xx, int yy) {}
Vector2D d(0, 0);
};
错误:
Error C2059 syntax error: 'constant' Project1
如果我明白你所拍摄的东西,你会写类的方法如下
class Vector2D
{
public:
Vector2D() = default;
Vector2D(int xx, int yy) : m_xx(xx), m_yy(yy) {}
private:
int m_xx = 0;
int m_yy = 0;
};
您当前的问题是这条线
Vector2D d(0, 0);
它看起来像你试图声明一个成员变量d
这是你试图定义的类的一个实例。
是的,但是当我复制你的代码并尝试在另一个类中使用该类的对象时(在包含头后)我仍然得到完全相同的语法错误,当我传递参数它就像这个Vecror2D d(2,4) –
@HazemGamal你能否按照你的描述显示你使用这个类的尝试? – CoryKramer
我用它在main()中使用的另一个类中工作时在gloabal作用域中使用时也有效,但是当我在另一个类中使用它时,它会给我那个错误 –
你不能在Vector2D中创建一个Vector2D。那将是一个无限循环。请发布一条与错误消息 – NathanOliver
'Vector2D d(0,0)匹配的[mcve];'我不确定你想要在那条线上做什么,但它不应该在那里。 – Borgleader
好吧,我在课堂以外使用它,并且遇到同样的问题? –