我有一個名爲BottlingPlant的類。 我創建了以下headerfile:編譯文件時出現C++錯誤
#ifndef __BOTTLINGPLANT_H__
#define __BOTTLINGPLANT_H__
#include <iostream>
class BottlingPlant {
public:
BottlingPlant(Printer &prt, NameServer &nameServer, unsigned int numVendingMachines, unsigned int maxShippedPerFlavour, unsigned int maxStockPerFlavour, unsigned int timeBetweenShipments);
void getShipment(unsigned int cargo[ ]);
void action();
};
#endif
而下面的.cc文件:
#include <iostream>
#include "PRNG.h"
#include "bottlingplant.h"
BottlingPlant::BottlingPlant(Printer &prt, NameServer &nameServer, unsigned int numVendingMachines, unsigned int maxShippedPerFlavour, unsigned int maxStockPerFlavour, unsigned int timeBetweenShipments) {
}
void BottlingPlant::getShipment(unsigned int cargo[ ]) {
}
void BottlingPlant::action() {
}
當我嘗試編譯.cc的,它給了我在的.cc和.h的錯誤行:
BottlingPlant::BottlingPlant(Printer &prt, NameServer &nameServer, unsigned int numVendingMachines, unsigned int maxShippedPerFlavour, unsigned int maxStockPerFlavour, unsigned int timeBetweenShipments)
說,有是&
令牌之前預期)
。這對我沒有任何意義,因爲沒有開放(
。我只是不確定它爲什麼會給出這個錯誤。 Printer
和NameServer
只是單獨的類作爲項目的一部分,但是..我是否還需要包含它們的頭文件或不包含?
任何幫助,非常感謝!
避免使用雙下劃線或下劃線後跟大寫字母來啓動標識符。這些保留用於實施。 – chris 2012-07-19 01:03:52
是的,您需要在當前實現中使用Printer和Nameserver的頭文件。 – Yuushi 2012-07-19 01:06:50
關於你的問題,每個文件都應該包括它所需要的,而不是更多。在'BottlingPlant'中,'Printer'等尚未包含在內,您不應該指望先來到另一個文件。 – chris 2012-07-19 01:07:05