在c ++中为volatile数组赋值

时间:2012-07-23 12:55:34

标签: c++ arrays volatile

我有一个类型为MyType的volatile类型映射到共享内存,使用CreateFileMapping等创建:

volatile MyType *arr;

如何为数组的索引赋值? E.g:

MyType a;
arr[n] = a;

我收到编译错误:

  

错误C2678:binary'=':没有运算符定义,它采用类型为'volatile MyType'的左手操作数(或者没有可接受的转换)

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

提前致谢

1 个答案:

答案 0 :(得分:4)

您未将作业运算符标记为volatile。易失性正确性与const正确性相同 - 您有一个volatile对象但没有易失性运算符,因此调用形成不良。