我有以下主文件,我嘗試創建一個預定義值的映射,並將其傳遞給其他方法進一步處理。主文件被作爲如下所示:編譯錯誤C++:無法調用沒有對象的成員函數
int main(){
map<id,Porto> _portoInit;
id = 1;
Porto p;
p.val = 5;
_portoInit.insert(pair<id, Porto>(id, p));
Porto::setPorto(_portoInit);
return 1;
}
其中setPorto是一類下定義爲下面的(在單獨的文件)
void Porto::setPorto(const map<id,Porto>& _portoblock) {
//do stuffs
};
我得到的「錯誤的錯誤提示:不能調用成員函數...沒有對象「 我沒有在主文件中聲明_portoInit的對象,或者它是一種錯誤的聲明方式?