C++ cli 为什么C++;CLI强制类在构造函数方法中包含变量?
但是,以下代码运行良好:C++ cli 为什么C++;CLI强制类在构造函数方法中包含变量?,c++-cli,C++ Cli,但是,以下代码运行良好: public ref class masterWeapon{ public : property int Slot { int get(){ return 0; } } masterWeapon(){ } }; OSamp::masterWeapon mw(); int v = mw.Slot; //ERROR error C2228: left of '.Slot' must
public ref class masterWeapon{
public :
property int Slot {
int get(){
return 0;
}
}
masterWeapon(){
}
};
OSamp::masterWeapon mw();
int v = mw.Slot; //ERROR error C2228: left of '.Slot' must have class/struct/union
<>为什么C++ CLI力类在构造函数方法中有变量?< /p>
没有,只是代码中有一个错误
public ref class masterWeapon{
public :
property int Slot {
int get(){
return 0;
}
}
masterWeapon(int useless){
}
};
OSamp::masterWeapon mw(231312);
int v = mw.Slot; //works fine
错误信息有点误导;是上面的那条线引起了问题。编译器告诉您,mw
不是对象的实例mw
被解释为一个函数的原型,该函数不带任何参数,并返回一个OSamp::MasterAnsware
该行应改写为:
OSamp::masterWeapon mw();
<>为什么C++ CLI力类在构造函数方法中有变量?< /p>
没有,只是代码中有一个错误
public ref class masterWeapon{
public :
property int Slot {
int get(){
return 0;
}
}
masterWeapon(int useless){
}
};
OSamp::masterWeapon mw(231312);
int v = mw.Slot; //works fine
错误信息有点误导;是上面的那条线引起了问题。编译器告诉您,mw
不是对象的实例mw
被解释为一个函数的原型,该函数不带任何参数,并返回一个OSamp::MasterAnsware
该行应改写为:
OSamp::masterWeapon mw();
这不是最令人烦恼的解析。它只是一个函数声明。最麻烦的解析与此类似,但正如链接所示,它涉及使用匿名对象作为唯一的构造函数参数,该参数被解析为函数声明,而不是对象初始化。如果你告诉某人,
OSamp::masterwill mw()
是一个函数声明,他们会说“哦,我明白了。”如果你告诉他们OSamp::MasterNumble mw(some_type())
是一个函数声明,他们会挠头的。@PeteBecker:是的,你说得对。我正在编辑的过程中被打断了。谢谢你提醒我。这不是最烦人的问题。它只是一个函数声明。最麻烦的解析与此类似,但正如链接所示,它涉及使用匿名对象作为唯一的构造函数参数,该参数被解析为函数声明,而不是对象初始化。如果你告诉某人,OSamp::masterwill mw()
是一个函数声明,他们会说“哦,我明白了。”如果你告诉他们OSamp::MasterNumble mw(some_type())
是一个函数声明,他们会挠头的。@PeteBecker:是的,你说得对。我正在编辑的过程中被打断了。谢谢你提醒我。