gpt4 book ai didi

库中的 C++ 常量;不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 14:59:13 41 4
gpt4 key购买 nike

任何人都知道为什么当我尝试包含具有以下声明的库时这不起作用:

namespace wincabase
{
const char* SOMESTRING = "xx";
}

虽然这很好:

namespace wincabase
{
const int X = 30;
}

当我链接 lib 时,对于第一种情况,gcc 出现“多重定义”错误。谢谢!

最佳答案

const char* 表示指向 const char 的指针。这意味着指针本身不是常量。

因此它是一个普通变量,所以你需要使用

extern const char* SOMESTRING;

在头文件中,以及

const char* SOMESTRING = "xx";

在库的一个编译单元中。


或者,如果它是一个指向 const 字符的 const 指针,那么您应该使用:

const char* const SOMESTRING = "xx";

关于库中的 C++ 常量;不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/857258/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com