2016-12-24 8 views
1

std :: mapインデックスをconst関数のparamとして渡す方法はありますか?std :: mapの値をconst関数内のparamインデックス経由で返す

const SurfaceProperties & SurfacePropertiesImpl::getSurfaceProperties(const std::string entityId) const 
{ 
    return mSurfaceProperties[entityId]; 
} 

-

error: passing ‘const std::map<std::__cxx11::basic_string<char>, SurfaceProperties>’ as ‘this’ argument discards qualifiers [-fpermissive] 
    return mSurfaceProperties[entityId]; 

答えて

2

あなたは鍵が見つからない場合にスローされますoperator[]

const SurfaceProperties& 
SurfacePropertiesImpl::getSurfaceProperties(const std::string entityId) const 
{ 
    return mSurfaceProperties.at(entityId); 
} 

へのconst反するatを使用することができます。

関連する問題