1. ホーム
  2. c++

[解決済み] C++ Visual Studio 「非標準の構文。メンバへのポインタを作成するには '&' を使用」 [終了しました]

2022-02-15 15:30:28

質問事項

このエラー(エラーC3867:非標準構文;'&を使用してメンバーへのポインターを作成する)に何度か遭遇しました。この質問は何度もされていることだと思いますが、なぜこの問題が起こるのか、そしてそれを解決するために何をすればいいのかがわかりません。ポインタがどのように機能するかについて多くのガイドを読み、新しい知識で遊ぼうとしましたが、正しいやり方がわかりません。

この質問のために、簡単なコードを作りました。なぜこのエラーが発生するのか、どのようにこのコードを修正すればいいのか、どなたか教えてください。

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

ソース.cpp

#include <iostream>
#include <string>

#include "BankAccount.h"

using namespace std;

int main(){

    BankAccount bankAccount1("testName", 200.0);

    cout << bankAccount1.amountOfMoney << endl;

}

BankAccount.h

#pragma once
#include <string>

using namespace std;

class BankAccount
{
public:
    BankAccount();
    BankAccount(string name, double money);
    ~BankAccount();
    double amountOfMoney();

private:
    string name;
    double money;
};

BankAccount.cpp

#include "BankAccount.h"


BankAccount::BankAccount()
{
}

BankAccount::BankAccount(string n, double m) {
    name = n;
}

BankAccount::~BankAccount()
{
}

double BankAccount::amountOfMoney() {
    return money;
}

解決方法は?

関数呼び出し演算子を忘れています () . を変更します。 main のコードに変更します。

int main(){

    BankAccount bankAccount1("testName", 200.0);

    cout << bankAccount1.amountOfMoney() << endl;

}

括弧をつけないと、メンバー関数のアドレスを表示しようとします。