编译器错误 C3160
“pointer”: 托管或 WinRT 类的数据成员不能具有此类型
内部垃圾回收指针可能会指向托管或 WinRT 类的内部。 因为它们比整个对象的指针慢,并且需要垃圾回收器进行特殊处理,因此你不能将内部托管的指针声明为类的成员。
以下示例生成 C3160:
// C3160.cpp
// compile with: /clr
ref struct A {
// cannot create interior pointers inside a class
interior_ptr<int> pg; // C3160
int g; // OK
int* pg2; // OK
};
int main() {
interior_ptr<int> pg2; // OK
}
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈