想在頭檔案(my.h)中利用一個map型別建立一個std::map<string,uint> my_Map
并定義my_Map["one"] = 1;
my_Map["two"] = 2;
my_Map["three"] = 3;
my_Map["four"] = 1;
并且在cpp(my.cpp) 檔案中#include “”my.h“”
在compile的程序中報出
error: 'my_Map' does not name a type my_Map["one"] = 1;
error: 'my_Map' does not name a type my_Map["two"] = 1;
error: 'my_Map' does not name a type my_Map["three"] = 1;
error: 'my_Map' does not name a type my_Map["four"] = 1;
求教大神這是什么原因,是my_Map定義出了什么問題嗎?在頭檔案中如何去定義一個map,然后又如何在源檔案(my.cpp)中參考呢?求大神賜教
uj5u.com熱心網友回復:
你說的太概念了,我想了一下,你是不是想這么做
class my
{
public:
//構造賦值
my()
{
my_map["one"] = 1;
my_map["two"] = 2;
my_map["three"] = 3;
};
~my()
{
};
//輸出map中one鍵對應的值
void testMap()
{
cout<<my_map["one"]<<endl;
};
public:
std::map<std::string,int> my_map;
}
uj5u.com熱心網友回復:
我的初衷是想在頭檔案中通過map來定義一個const,然后在源檔案中進行參考即可,現在已經解決了://foo.h檔案
const std::map<std::string,uint> my_Map = {
{"one", 1},
{"two", 1},
{"three", 1}
};
//foo.cpp檔案
variable = my_Map .at("one") //通過這種方式參考頭檔案的內容即可
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/66059.html
標籤:基礎類
上一篇:windows 下怎么編一個debug和release都能用的庫
下一篇:影像的傅里葉變換 matlab
