gpt4 book ai didi

c++ - 非静态数据成员初始化器仅与-std = c++ 11或-std = gnu++ 11一起提供

转载 作者:行者123 更新时间:2023-12-01 14:42:12 25 4
gpt4 key购买 nike

[Warning] non-static data member initializers only available with -std=c++11 or -std=gnu++11


下面,我使用 //来显示发生错误的三行代码,尽管代码工作正常。
#include <iostream>
#include <conio.h>

using namespace std;

class Bank
{
private:
char name[20];
int accNo;
char x;
double balance;
double amount;
float interestRate;
float servCharge = 5; //[Warning]
float count = 0; //[Warning]
bool status = true; //[Warning]

public:
void openAccount();
void depositMoney();
void withdrawMoney();
void checkBalance_info();
void calcInt();
void monthlyProc();
};

void Bank::calcInt() {
cout << " Enter your annual interestRate : " << endl;
cin >> interestRate;

double monthlyInterestRate = interestRate / 12;
double monthlyInterest = balance * monthlyInterestRate;
balance += monthlyInterest;

cout << "Updated Balance After Monthly interestRate " << balance << endl;

if (balance < 25){
status = true;
}

void Bank :: monthlyProc(){
if (balance < 25){
status = false;
}
while (count > 4){
balance = balance - 1;
}
servCharge = servCharge + (count * 0.10);
balance -= servCharge;
cout << "Monthly Service Charges: " << servCharge <<endl;
cout << "Updated Balance After Monthly interestRate " << balance << endl;
}
另外,我没有包括整个代码,因为它有点长。请告诉我是否需要上传整个代码。只需要帮助使代码运行就没有任何错误。

最佳答案

float servCharge = 5; //[Warning]

float count = 0;//[Warning]

bool status = true;//[Warning]
这些是警告,不是错误。这意味着您正在初始化类中的那些成员变量,但它们不是静态成员。这是较旧的C++ 98和C++ 03的局限性。
您可以通过两种方式消除这些警告:
(1)完全执行编译器希望您执行的操作,即在编译代码时指定以下选项:
-std=c++11 or -std=gnu++11  // using newer C++11
(2)初始化那些类中的定义,而不是使用旧方法(即)来初始化它们。使用构造函数:
Bank::Bank() : servCharge(5), count(0), status(true)
{
//..
}

关于c++ - 非静态数据成员初始化器仅与-std = c++ 11或-std = gnu++ 11一起提供,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63543205/

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