c++ - 初始化字符串的静态常量列表

标签 c++ list static constants

我需要初始化一个 static const std::list<std::string>在我的.h。但是,我该怎么办?

class myClass {
    static const std::list<std::string> myList = {"a", "b", "c"};
}

谢谢。

最佳答案

如何在我的 .h 中初始化静态常量 std::list?

不,你不能直接这样做。

要在类定义中初始化一个常量静态数据成员,它必须是整型(或枚举)类型;如果此类对象仅出现在积分常数表达式的位置,那也是如此。 更多详情请引用C++11 standard在以下地方。

$9.4.2 Static data members and
$3.2 One Definition rule

但是,您可以这样做: How can you define const static std::string in header file?

关于c++ - 初始化字符串的静态常量列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34154732/

相关文章:

c++ - 如何插入一个额外的 QTableWidget

c++ - boost::asio::ip::tcp::socket 不读取任何内容

python - 根据另一个时间戳值的月份,对列表元素的值进行分组和求和

c - 创建一个通用 C 列表来包含指针

ios - 在数据库连接类中使用共享实例的优势

C++:多线程程序中的静态变量

C++ 迭代一个istream

c++ - 使用 OpenCV 3.0 训练 SVM 并保存

c - 链表中第六次插入时出现段错误

java - 使用静态记录器打印元素是否会创建具有相同内容的多个文件?