我在 .h 文件中声明了一个全局变量:
extern char Title[10];
当我在 .cpp 文件中使用它时:
char Title[10] = "Asia";
更多代码:
Title[10] = "Europe";
第二个赋值导致错误错误:从“const char*”到“char”全局变量的无效转换
如何重新分配这个全局变量?
最佳答案
问题:
extern char Title[10];
声明一个大小为 10 的 char
数组。
同时:
Title[10] = "Europe";
尝试将 Title
的第 11 个元素设置为 "Europe"
。
显然不是你想要的......
C 风格的解决方案:
使用strcpy
将char
数组“Europe”复制到Title
中。 Here's some handy reference to strcpy
.
您将目的地和来源传递给它,因此在您的情况下它将是:
strcpy(Title, "Europe");
C++路线:
使用字符串类,例如 std::string
。 Here's some handy reference to std::string
extern std::string Title;
...
std::string Title("Asia");
Title = "Europe";
关于c++ - 如何多次更改全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23000629/