-2
如果我拿出輸出數據[]的內容的那一行,它編譯得很好。我似乎無法理解通過實現文件訪問數組。任何幫助將被認可。重載<<運算符時,如何從我的實現文件訪問頭文件中的數組?
實現文件功能:
ostream& operator << (ostream& output, const Bag& b1)
{
for(int i = 0; i< b1.used; i++)
{
output <<Bag.data[i]<<" "; // LINE OF ERROR
}
output<<endl;
return output;
}
頭文件:
#ifndef BAG_H
#define BAG_H
#include <cstdlib>
#include <fstream>
namespace greg_bag{
using namespace std;
class Bag
{
public:
typedef int value_type;
typedef std:: size_t size_type;
static const size_type CAPACITY = 30;
Bag(){used = 0;}
void erase();
bool erase_one(const value_type& target);
void insert (const value_type& entry);
//void operator += (const bag& addend);
//size_type size()const {return used;}
//size_type count(const value_type& target) const;
//bag operator +(const bag& b1, const bag& b2);
friend ostream& operator << (ostream&, const Bag&);
private:
value_type data[CAPACITY];
size_type used;
};
}
#endif
錯誤消息: 錯誤: '' 之前預期基本表達式令牌|
它應該是'output << b1.data [i] <<「」; –