编译器错误 C2775

“identifier”: 没有“get”方法与该属性关联

使用 property 扩展属性声明的数据成员未指定 get 函数,但表达式尝试检索其值。

以下示例生成 C2775:

// C2775.cpp
struct A {
   __declspec(property(put=PutProp2, get=GetProp2)) int prop2;
   int GetProp2(){return 0;}
   void PutProp2(int){}

   __declspec(property(put=PutProp)) int prop;
   int PutProp(void){}

};

int main() {
   A* pa = new A;
   int x;
   x = pa->prop;   // C2775
   x = pa->prop2;
}