我多次遇到此错误(错误 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(使用前将#替换为@)