我在 ConfigureManager.h 类声明之前声明了 static const变量,如下所示:
static const std::string CONFIGURE_FILE_PATH = "./abc.conf";
class ConfigureManager: private boost::noncopyable
{
...
};
稍后当我尝试从 ConfigureManager.cpp 类方法访问它时,它会给我分段错误错误。
#include "ConfigureManager.h"
void ConfigureManager::xyz()
{
std::cout << "configureFilePath " << CONFIGURE_FILE_PATH << std::endl;
}
我在ubuntu环境中使用g ++编译器。
答案 0 :(得分:0)
我没有插入,编译和运行代码的问题。该字符串已发送到控制台。发布错误消息或更多代码...
答案 1 :(得分:0)
不确定您使用的是哪个版本的g ++,但是有没有理由不在头文件中将其定义为静态const char *,然后在cpp中将其定义为“./abc.conf”?
如果是c ++ 11,您可以使用initalizer列表在头文件中定义它。 static const std :: string CONFIGURE_FILE_PATH = {“。/ abc.conf”};