调试C+时出现错误代码0x80070002+;在VS19中 我对C++编程非常新。 我在C++学习OOP,我试着自己编写一个程序 class Account { private: string name; double balance; public: Account(); Account(string name_val); Account(double bal_val); Account(string name_val, double bal_val); };

调试C+时出现错误代码0x80070002+;在VS19中 我对C++编程非常新。 我在C++学习OOP,我试着自己编写一个程序 class Account { private: string name; double balance; public: Account(); Account(string name_val); Account(double bal_val); Account(string name_val, double bal_val); };,c++,debugging,visual-studio-2019,C++,Debugging,Visual Studio 2019,这就是课堂 Account::Account(): name { "None" }, balance{ 0.0 }{} Account::Account(string name_val) : name{ name_val }, balance{ 0.0 }{} Account::Account(double bal_val) : name{ "None" }, balance{ 0.0 }{} Account::Account(string name_val, double bal_val) :

这就是课堂

Account::Account(): name { "None" }, balance{ 0.0 }{}
Account::Account(string name_val) : name{ name_val }, balance{ 0.0 }{}
Account::Account(double bal_val) : name{ "None" }, balance{ 0.0 }{}
Account::Account(string name_val, double bal_val) : name{ name_val }, balance{ bal_val }{}
class Player
{
private:
    string name;
    int health;
    int xp;
public:
    //Overloaded Constructors
    Player();
    Player(string name_val);
    Player(string name_val, int health_val, int xp_val);
};
这些是我所做的声明

Account empty;
    Account frank{ "Frank" };
    Account rich_boi{ 1000000.0 };
    Account sad_boi{ "Sad boi", -10.0  };
这些是我主要制作的物品

编辑:在此之前,我还做了一个程序(我从我的课程中得到的),它运行得非常好 这就是课堂

Account::Account(): name { "None" }, balance{ 0.0 }{}
Account::Account(string name_val) : name{ name_val }, balance{ 0.0 }{}
Account::Account(double bal_val) : name{ "None" }, balance{ 0.0 }{}
Account::Account(string name_val, double bal_val) : name{ name_val }, balance{ bal_val }{}
class Player
{
private:
    string name;
    int health;
    int xp;
public:
    //Overloaded Constructors
    Player();
    Player(string name_val);
    Player(string name_val, int health_val, int xp_val);
};
这些是建设者

Player::Player() : name{ "None" }, health{ 0 }, xp{ 0 }{}

Player::Player(string name_val) : name{ name_val }, health{ 0 }, xp{ 0 }{}

Player::Player(string name_val, int health_val, int xp_val) : name{ name_val }, health{ health_val }, xp{ xp_val }{}
这些是主要的目标

    Player empty;
    Player frank{ "Frank" };
    Player villain{ "Villain" , 100 , 55 };
这应该是类构造函数的正确定义

Account empty;
Account frank("Frank" ); 
Account rich_boi( 1000000.0 );  
Account sad_boi( "Sad boi", -10.0 );
这就是在程序的
main()
中声明对象的方式。你的语法不正确

<> C++中初始化列表的正确语法是:

Constructorname(datatype value1, datatype value2):
                   datamember(value1),
                   datamember(value2) {
                  .
                  . //Anything if at all you want to include in your constructor function
                  . 
}

我正在添加在我的计算机上成功执行的完整代码。复制并执行以查看代码是否在您的端成功执行

#include<iostream>
using namespace std;

class Account
    {
    private:
        string name;
        double balance;
    public:
        Account();
        Account(string name_val);
        Account(double bal_val);
        Account(string name_val, double bal_val);
    };


 Account::Account(): name ( "None" ), balance( 0.0 ){}

 Account::Account(string name_val) : name( name_val ), balance(0.0 ){}

 Account::Account(double bal_val) : name("None" ), balance(bal_val ){}

 Account::Account(string name_val, double bal_val) : name( name_val ), balance( bal_val ){}

 int main(){
     Account empty;
     Account frank("Frank" ); 
     Account rich_boi( 1000000.0 );  
     Account sad_boi( "Sad boi", -10.0 );
 }
#包括
使用名称空间std;
类别帐户
{
私人:
字符串名;
双平衡;
公众:
账户();
帐户(字符串名称);
账户(双倍余额);
账户(字符串名称、双倍余额);
};
Account::Account():名称(“无”),余额(0.0){}
Account::Account(字符串名称){u val):名称(名称){u val),余额(0.0){}
账户:账户(双倍余额):名称(“无”),余额(余额){}
Account::Account(字符串名称,双倍余额):名称(名称),余额(余额){}
int main(){
账户为空;
账户弗兰克(“弗兰克”);
账户丰富(1000000.0);
账户sad_boi(“sad boi”,-10.0);
}

除了第三个构造函数中的一个可能错误(
Account::Account(double bal_val):name{“None”},balance{0.0}
可能应该是
Account::Account(double bal_val):name{“None”},balance{bal val}
)。。。您遇到的问题是什么,导致该问题的代码在哪里?您定义类构造函数的方式不正确,我猜请提供一个也有2个错误(都是错误代码C2371)它们都说:重新定义;不同的基本类型显示系统无法找到指定的文件。这里有错误吗?您没有执行任何api调用,也没有检查任何错误。我尝试了此操作,但不起作用。在尝试debug@KAI您对构造函数定义和对象声明都做了更改吗?@KAI我正在运行与我相同的程序,使用VScode,并成功编译和执行了它。请确保您没有犯任何语法错误或其他错误。我确实更改了构造函数定义和对象声明编辑:我将查看整个程序的语法错误编译器告诉我有2个错误(错误代码:C2371)@KAI-编译器应该告诉您确切的行(和列)问题发生的地方。它仍然显示错误。顺便说一句,错误不是在编译时,而是在调试时。确定我将打开一个新项目并将此代码放入,然后它可能会出现work@KAI好的,试试看,让我看看know@KAI至少,你的问题解决了。谜团依然存在,最初是什么导致了错误,两个声明的错误代码都是C2371(请参阅下面帖子的注释)