集合上的C++/CX属性引发错误
C++/CX property throwing error on set
我有一个类:
ref class Coord
{
public:
property float X {
float get() { return X; }
void set( float value )
{
X = value; // THROWS EXCEPTION
}
};
property float Y {
float get() { return Y; }
void set( float value ) { Y = value; }
};
property float Z {
float get() { return Z; }
void set( float value ) { Z = value; }
};
};
我做了一个新的副本:
Coord^ playerRotation = ref new Coord();
我尝试设置属性的值之一:
playerRotation->X = 0.0f;
它运行到我的类代码的这一部分:
X = value; // THROWS EXCEPTION
并抛出一个异常:
Unhandled exception at 0x00115299 in Game.exe: 0xC00000FD: Stack overflow (parameters: 0x00000001, 0x008E2FD0).
我对C++/CX属性做错了什么?
我对C++/CX了解不多,但从错误消息中猜测
堆栈溢出
做CCD_ 1实际上是调用CCD_ 2,而CCD_。。。进入无限循环,从而导致堆栈溢出。
根据文档,您需要为property X
定义一个后备存储变量。
ref class Coord
{
float m_x; // Backing store for property X
public:
property float X {
float get() { return m_x; }
void set( float value )
{
m_x = value;
}
};
...
您可能还想对property Y
和property Z
执行同样的操作。
相关文章:
- 无法使用 SWIG 在 Python 中实例化C++类(获取属性错误)
- CMake 错误 - 目标 foo INTERFACE_SOURCES属性包含在源目录中以前缀为前缀的路径
- 当警告为错误时使用 [[已弃用]] 属性 (-Werror)
- C++ 中常量属性的初始化构造函数错误
- GCC 编译器是否应该对涉及 [[fallthrough]] 属性的格式错误的C++代码进行诊断?
- 我想获取点的属性,它报告错误 C3867:"point::output_x":非标准语法;使用"&"创建指向成员的指针
- MFC 对话框属性表用法在 VS 2017 中产生错误,适用于 VS 2013
- pybind11:属性错误:尝试从 py 文件运行函数时,模块'XXX'没有属性'YYY'
- 创建新对象并立即为其设置属性时出现编译器错误
- Windows 脚本主机 - 错误 '800A01B6' 对象不支持此属性或方法
- accelerator.cu(8): 错误:属性"managed"在这里不适用?
- 我刚刚安装了Visual Studio,遇到了一些错误,特别是WindowsSDKDir属性未定义.可能找不到某些生成工
- 有没有办法将 vector<unsigned char> 插入 postgresql 表中,具有 bytea 属性,没有 UTF8 编码错误?
- LNK2019与另一个工作项目具有相同属性的项目上的错误
- Arduino / esp8266:错误:'Pchr 不允许部分属性
- 在 python 中使用链接库中的方法时出现属性错误
- GNU Radio OOT 模块属性错误:"模块"对象没有属性"MME_cpp"
- 属性错误:"模块"对象没有属性"func",仅通过C++调用
- 属性错误: 'Foo'对象没有属性'max'
- 类成员属性错误