我有以下类和相应的头文件:
#ifndef ORDER_H_
#define ORDER_H_
#include "Side.h"
using namespace std;
class Order {
public:
int _id;
Side _side;
int _ackedPrc;
int _ackedQty;
int _requestedPrc;
int _requestedQty;
int _filledQty;
Order(){
_id = -1;
_side = BID;
_ackedPrc = -1;
_ackedQty = 0;
_requestedPrc = 0;
_requestedQty = 0;
_filledQty = 0;
}
void cancel(){
_requestedQty = 0;
}
void amend(int prc, int qty){
_requestedPrc = prc;
_requestedQty = qty;
}
void amended(){
_ackedPrc = _requestedPrc;
_ackedQty = _requestedQty;
}
void acked(){
amended();
}
void onFill(int fillQty){
_filledQty += fillQty;
}
int filledQty(){
return _filledQty;
}
int prc(){
return _requestedQty;
}
int remainingQty(){
return _requestedQty - _filledQty;
}
int id(){
return _id;
}
Side side(){
return _side;
}
bool pendingMod(){
return _ackedPrc != _requestedPrc || _ackedQty != _requestedQty;
}
};
#endif
#ifndef ORDER_H_
#define ORDER_H_
#include "Side.h"
class Order {
public:
int _id;
Side _side;
int _ackedPrc;
int _ackedQty;
int _requestedPrc;
int _requestedQty;
int _filledQty;
Order();
void cancel();
void amend(int prc, int qty);
void amended();
void acked();
void onFill(int fillQty);
int filledQty();
int prc();
int remainingQty();
int id();
Side side();
bool pendingMod();
};
#endif /* ORDER_H_ */
当我尝试实例化此对象时,我在我的 Mac 上的 CDT/Eclipse 中收到符号未找到错误。但是,我可以轻松地实例化项目中的任何其他类,所以我很确定我的问题在于 Order 类:
int main() {
Order o;//This gives me an error
// OrderBook ob; But this works
// QuoteBook qb; And this works
return 0;
}
谁能发现我的问题?我一直在想,我的声明在某处与我的定义不符,但我不知道如何。(是的,我是 C++ 新手。请原谅任何违反最佳实践的行为。)
谢谢