1
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

但是以下代码运行良好:

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
4

1 回答 1

5

为什么 C++ CLI 强制类在构造函数方法中有变量?

它没有,你只是在你的代码中有一个错误。

OSamp::masterWeapon mw();

错误信息有点误导;正是上面的行导致了问题。编译器告诉您这mw不是对象的实例。mw被解释为不带参数并返回OSamp::masterWeapon.

该行应重写为:

OSamp::masterWeapon mw;
于 2013-03-08T18:02:01.673 回答