c++ - 如何多次更改全局变量

标签 c++

我在 .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 风格的解决方案:

使用strcpychar 数组“Europe”复制到Title 中。 Here's some handy reference to strcpy .

您将目的地和来源传递给它,因此在您的情况下它将是:

strcpy(Title, "Europe");

C++路线:

使用字符串类,例如 std::stringHere'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/

相关文章:

c++ - Oprofile 与 perf

C++:覆盖由另一个方法调用的 protected 方法

c++ - 模板/多态性

c++ - OpenCv 输入样本必须是浮点矩阵 ERROR

c++ - 用于从 C++ 代码生成 UML 图的 Eclipse 插件

c++ - 延迟crtp基类中的成员函数实例化

C++:如何初始化非整数类型的静态成员变量?

c++ - 如何将具有已知总线地址的 USB 设备映射到挂载路径?

c++ - C++ 中的垃圾收集——为什么?

c++ - 是否可以创建一个 "external"迭代器类(即 : without access to the original data type)