【发布时间】:2016-09-01 02:10:21
【问题描述】:
我收到一个初始化列表转换错误 (static_data.h) (我用g++ -std=c++14)
#include<vector>
#include<string>
namespace Euler2D {
class static_data{
public :
const std::vector<std::string> path{"x","y","z"};
};
}
但是我可以编译它(并且在另一个类/函数中使用它而不会出现任何问题)
class static_data{
public :
const std::vector<std::string> path{"x","y","z"};
};
那么如何将我的 static_data 类放入命名空间,而不牺牲初始化器列表?
【问题讨论】:
-
为我工作:ideone.com/QbHVyZ
-
@CinCout 我正在编译这是一个没有主函数的“.h”
-
你还需要一个入口点,不是吗?
-
做,我?我刚刚在 .h 文件中编译了第二种情况,并且只使用另一个 C++ 文件中的类而没有问题。我见过其他大型程序使用这种独立的.h 文件我不确定我在这里缺少什么
-
@CinCout 你是对的,它确实需要一个入口点,使用 -c 选项编译,然后从 main 函数中使用可以正常工作。我想知道为什么只有纯类版本没有 -c 选项编译。
标签: c++ namespaces c++14 initializer-list