0

所以我有这个仓库类:

仓库.h:

#ifndef WAREHOUSE_H
#define WAREHOUSE_H
#include<string>
#include<map>
#include "dates.h"

namespace a4
{
 class warehouse
 {
    public:
        warehouse(std::string name, std::string start_date);

    private:
        std::string name;
        std::string busiest_day;
        int most_transactions;
        std::map<std::string, a4::food> items;
        dates current_date;
        void next_day();
 };
}
 #endif

仓库.cc:

#include "warehouse.h"
#include "dates.h"
namespace a4
{
 //constructor
 warehouse::warehouse(std::string name, std::string start_date)
 {
     this->current_date = new dates(start_date);
 }
 void warehouse::next_day()
 {
     this->current_date.next_day();
 }
}

我得到的编译器错误是:

warehouse.cc: In constructor ‘a4::warehouse::warehouse(std::string, std::string)’:
warehouse.cc:8: error: ‘class a4::warehouse’ has no member named ‘current_date’
warehouse.cc: In member function ‘void a4::warehouse::next_day()’:
warehouse.cc:12: error: ‘class a4::warehouse’ has no member named ‘current_date’

知道为什么它不承认current_date为会员吗?这可能很简单,但我只有几周的时间来学习 C++。

4

1 回答 1

2

我能看到的唯一可能性是这不是你的标题的样子。确保您一直在正确目录中编辑正确的文件。

当你解决了这个问题,你会发现你的下一个错误是“无法转换dates*date”。这是因为您在new不应该使用的地方使用。

于 2013-01-30T21:41:19.123 回答