c++ - 在 C++ 中为 volatile 数组赋值

标签 c++ arrays volatile

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

volatile MyType *arr;

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

MyType a;
arr[n] = a;

编译错误:

error C2678: binary '=' : no operator defined which takes a left-hand operand of type 'volatile MyType' (or there is no acceptable conversion)

我希望能够将 MyType 分配给 volatile 和非 volatile 数组。

提前致谢

最佳答案

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

关于c++ - 在 C++ 中为 volatile 数组赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11612967/

相关文章:

c++ - GCC 8 无法编译 make_shared<volatile int>()

c++ - 如何从typedef组成推导嵌套类模板类型?

php - 如何从数组创建变量

objective-c - 创建一个包含 float 的全局数组

python - PostgreSQL 中的数据库间通信

java - 解释 "volatile"在java中的用法?

c - 易失/修改的返回地址

c++ - 哪些用例需要 #define 而不使用标记字符串?

C++:公共(public)静态成员函数如何访问私有(private)实例成员变量?

c++ - 并行快速排序 boost::thread