【发布时间】:2017-10-20 08:52:56
【问题描述】:
我多次遇到此错误(错误 C3867:非标准语法;使用“&”创建指向成员的指针)。我知道这个问题已经被问过很多次了,但我不明白为什么会出现这个问题以及我能做些什么来解决它。我已经阅读了很多关于指针如何工作的指南,并且我尝试过学习新知识,但我不知道如何正确地做到这一点。
对于这个问题,我做了一个简单的代码。谁能帮我理解为什么会出现这个错误以及如何修复这个代码?
错误: 错误 C3867:'BankAccount::amountOfMoney':非标准语法;使用 '&' 创建指向成员的指针
Source.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;
}
【问题讨论】:
-
你需要回顾一下如何调用一个方法
-
amountOfMoney是一个函数,所以你必须使用()来调用它。否则编译器认为你想要函数的 address。cout << bankAccount1.amountOfMoney() << endl;
标签: c++ visual-studio