1

我有一个类型的易失性数组MyType映射到共享内存,使用 CreateFileMapping 等创建:

volatile MyType *arr;

如何为数组的索引赋值?例如:

MyType a;
arr[n] = a;

我得到编译错误:

错误 C2678:二进制“=”:未定义运算符,该运算符采用“volatile MyType”类型的左操作数(或没有可接受的转换)

我希望能够同时分配MyType给易失性和非易失性数组。

提前致谢

4

1 回答 1

4

您没有将赋值运算符标记为volatile。volatile 正确性与 const 正确性相同——您有一个volatile对象但没有 volatile 运算符,因此调用格式不正确。

于 2012-07-23T12:57:42.913 回答