错误C2504:' Vending&#39 ;:基类未定义

时间:2014-03-24 00:34:08

标签: c++

好吧,所以我有两个课程,自动售货和付款。付款是自动贩卖机的孩子。我一直没有定义"基类#34;我的代码中出错。

以下是两个头文件:

//Parent class (Vending.h)
#ifndef VENDING_H

#define VENDING_H

#include "Main.h";

namespace Vending
{
    class Vending
    {
    public:
        Vending();
        Vending(int);
        void setRequiredAmount(int);
        int getRequiredAmount();


    protected:
        int selectedItem;
        int requiredAmount;
    };
}
#endif VENDING_H

//child class (Payment.h)
#ifndef PAYMENT_H
#define PAYMENT_H

#include "Vending.h"

namespace Vending
{
    class Payment : public Vending
    {
    public:
        Payment(int);
        int getEnteredAmount();
        void setEnteredAmount(int);

        protected:
        int enteredAmount;


    };
}
#endif PAYMENT_H

如果我能得到一些帮助来解决此错误,我将不胜感激

1 个答案:

答案 0 :(得分:1)

你说Main.h包含Payment.h,它会导致循环依赖。阅读此帖以获取更多信息:http://forums.codeguru.com/showthread.php?288147-C2504-Base-class-undefined-(other-posts-have-no-solution)&p=919112#post919112

您需要正确地重新考虑您的项目,不应该发生这样的情况。只需尝试删除#include" Main.h"从Vending.h,编译Payment.cpp ......