gpt4 book ai didi

c++ - 如果没有返回,如何将 void 函数调用到 main?

转载 作者:太空宇宙 更新时间:2023-11-04 14:48:19 25 4
gpt4 key购买 nike

我想创建一个函数来检索同一类中先前函数的所有信息,并以一堆 cout 的格式打印返回的值。语句,在这个 PrintStatement() 函数中我没有什么可以返回的,所以我会创建一个 void 函数,对吗?我的问题在 int main() ,我不能cout一个空函数。

这是我的帐户头文件,以及我的 account.cpp 文件中的函数。

class Account {

public:
//Object constructor
Account(char firstName[], char lastName[], char sinNumber[], double balance, int accountType, int transactions);

//Object operations
double DepositAmt(double amount);
double WithdrawAmt(double amount);
void PrintStatement();
double getFinalBalance(double fbal);
string getAccountType();
double getTransactions (double Deposit, double Withdraw);

private:
//Object properties
char firstName[255];
char lastName[255];
char sinNumber[255];
double balance;
int accountType;
int transactions;
};


void Account::PrintStatement()
{

cout << "First Name: " << firstName << endl;
cout << "Last Name: " << lastName << endl;
cout << "SIN Number: " << sinNumber << endl;
cout << "Account Type: " << accountType << endl;
cout << "Final Balance: " << balance << endl;
cout << "Transactions: " << transactions << endl;


};

全局变量已经初始化。

我尝试过的:

我最初尝试cout << account.PrintStatement() << endl;但是我得到一个error C2679 (binary '<<' : no operator found which takes a right-hand operand of type 'void' (or there is no acceptable conversion)

我想也许改变一些东西以应用于字符串函数会起作用,但是我得到了一堆 int 转换错误等。

我不确定该怎么做。

为了清楚起见,我需要将它们放在一个函数中。

我尝试使用这个问题 https://stackoverflow.com/questions/12766858/how-to-call-void-function-from-main为了帮助我,海报使用引用是有道理的,但我没有。还有别的办法吗?

最佳答案

I originally tried to cout << account.PrintStatement() << endl;

嗯,表达式 account.PrintStatement()是一无是处,因为该函数有一个 void返回类型。正如您所指出的,该函数不返回任何内容,因此没有任何内容可以流式传输到 cout .

函数本身已经将一堆东西流式传输到cout , 满足你所有的 cout你需要。因此,只需调用它:

account.PrintStatement();

就是这样!

关于c++ - 如果没有返回,如何将 void 函数调用到 main?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28788497/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com