Shapeクラスのオブジェクトへのポインタの配列を検索しようとしています。私は次のコードを書きました。ただし、「演算子*に一致しない」というエラーが発生し、ここからどこに進むべきかわかりません。どんな助けでも大歓迎です。
Shape** shapesArray;
bool doesNameExist(string name) {
for (int i = 0; i < shapeCount; i++)
{
if(*(shapesArray[i])->getName() == name)
{
return true;
}
else
{
return false;
}
}
}
shapesArray
は Shape**
shapesArray[i]
です Shape*
(shapesArray[i])->getName()
間接参照でshapesArray[i]
あり、そのメンバーを呼び出しますgetName
これまでのところ何も悪いことはありません。これはあなたが実際に取得したいものだと思いますが、別のものを追加します*
:
*(shapesArray[i])->getName()
何から返されたものを逆参照しようとしますgetName
(std::string
おそらく?)PS:どちらの場合も、最初の反復でループから戻ります。配列を検索する場合は、配列が見つかるまでループするか(その後return true
)、最後までループする必要があります(ループが見つからreturn false
なかったため、ループの後にループします)。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加