1. ホーム
  2. c++

[解決済み】Visual Studio 2015で「非標準の構文。'&'を使用してメンバーへのポインターを作成します」エラー

2022-01-18 06:26:54

質問内容

このような関数があります。

std::string Room::getUsersAsString(std::vector<User*> usersList, User * excludeUser)
{
    std::string usersNames = " ";

    for (int i = 0; i < usersList.size(); i++) {
        if (usersList[i]->getUsername() != excludeUser->getUsername) {
            usersNames.append(usersList[i]->getUsername);
            usersNames.append(" ");
        }
    }

    return usersNames;
}

プログラムを実行しようとすると、必ず次のようなエラーが発生します。

非標準の構文; '&' を使用して、メンバーへのポインターを作成します。

どうすれば直せますか?

どのように解決するのですか?

を使用する場合

if (usersList[i]->getUsername() != excludeUser->getUsername)

ではなく

if (usersList[i]->getUsername() != excludeUser->getUsername())

もし関数ポインタを使いたかったとしても、(& を使って) 関数ポインタのアドレスを取得しなければなりません。

だから、関数呼び出しの後の()を忘れないように注意してね!