事前定義された値でマップを作成し、それを他の方法でさらに処理するために渡そうとした次のメインファイルがあります。メインファイルは次のとおりです。
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
};
「error: cannot call member function ... without object」というエラーが出てしまいました _portoInit のオブジェクトをメインファイルで既に宣言していませんか、それとも宣言の仕方が間違っていますか?