C++ Visual Studio“非标准语法;使用‘&’创建指向成员的指针”[关闭]

2024-03-27

我多次遇到此错误(错误 C3867:非标准语法;使用“&”创建指向成员的指针)。我知道这个问题已被问过很多次,但我不明白为什么会出现问题以及我可以采取什么措施来解决它。我读过很多关于指针如何工作的指南,并且尝试使用新知识,但我不知道如何正确执行。

对于这个问题我做了一个简单的代码。有人可以帮助我理解为什么会出现此错误以及如何修复此代码吗?

Error:错误 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;

}

银行帐户.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;
};

银行账户.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;

}

如果没有括号,它会尝试打印成员函数的地址,除非该函数不是类的成员,否则它无法执行此操作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ Visual Studio“非标准语法;使用‘&’创建指向成员的指针”[关闭] 的相关文章

随机推荐