我正在使用C ++ / CLI,尝试在头文件中声明一个类'原型,然后在cpp文件中实现它们。
一般来说cpp这看起来很常见,但它似乎不适用于C ++ / CLI语法,我缺少什么?
#using <mscorlib.dll>
using namespace System;
public ref class AClass {
public:
static Boolean GetSomething (); // Compiler is fine with this
static property Boolean Something { Boolean get (); } // Compiler doesn't complain about this
};
// Compiler is not cool with this
property Boolean AClass::Something {
Boolean get () { return true; }
}
// Compiler is fine with this
Boolean AClass::GetSomething () {
return true;
}
我已经尝试了各种语法排列,似乎没有任何效果,搜索似乎也没有帮助(也许这不再被广泛使用了?我发现它有助于我分手并处理大班级更多有效...)。
当我说编译器对属性的原型很好的时候,我的意思是如果我尝试编译注释掉的可能实现(并且原型仍然存在),编译器“成功”然后有链接时心脏病发作。
答案 0 :(得分:1)
您需要像普通函数定义一样定义属性getter。
public ref class AClass
{
public:
static property Boolean Something { Boolean get (); }
};
Boolean AClass::Something::get()
{
return true;
}