我收到初始化列表转换错误(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类放入命名空间?
答案 0 :(得分:0)
我认为您使用的是MSVC 2010?在这种情况下,你将面临初始化矢量的问题。尝试这个,它应该适合你
#include<vector>
#include<string>
using namespace std;
namespace Euler2D {
class static_data{
public :
static std::vector<std::string> path;
};
const char *initialval[] = {"x", "y", "z"};
std::vector<std::string> static_data::path(initialval, end(initialval));
}