gpt4 book ai didi

C++ 类重新定义错误——我终生无法解决这个问题

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

关于为什么我得到一个 'C2011 'Transaction':'class' type redefinition 有什么帮助吗?我敢肯定这很明显,但我一辈子都弄不明白。请帮忙。

交易.h

#include <string>

class Transaction
{
private:
int amount;
std::string type;

public:
Transaction(int amt, std::string kind);
std::string Report();
};

事务.cpp

#include "transaction.h"

using namespace std;

Transaction::Transaction(int amt, std::string kind):amount(amt), type(kind)
{
}

string Transaction::Report()
{
string report;
report += " ";
report += type;
report += " ";
report += to_string(amount);

return report;
}

最佳答案

您可以在头文件中使用头文件保护,这将确保您永远不会在任何其他 cpp 文件中多次定义类或结构等。

要添加头部防护,您可以简单地执行以下操作:

#ifndef TRANSACTION_H
#define TRANSACTION_H
// your header file
#endif

或者简单地添加

#pragma once

到你所有的头文件,你就很好了。

关于C++ 类重新定义错误——我终生无法解决这个问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33476414/

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