簡體   English   中英

由於添加名稱空間導致編譯錯誤

[英]compilation error due to adding a namespace

我收到初始化列表轉換錯誤(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類放入命名空間?

我認為您正在使用MSVC 2010? 在這種情況下,您將無法像以前那樣初始化vector。嘗試一下,它應該對您有用

#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)); 
 }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM