得到一个我无法解决的奇怪错误。
我有几个文件,Store.cpp、Store.h(此处定义了类 Store)、Order.cpp、Order.h(此处定义了类 Order)。
Store.cpp 有#include "Order.h"
.
在课堂Order
上,我在公共部分有一些 setter 和 getter,其中之一是:
void setStatus(const OrderStatus& orderStatus);
OrderStatus 是一个枚举。
当我尝试通过以下行在 Store.cpp 中使用它时:
(*itr).setStatus(ORDER_DONE);
我从 eclipse 得到这个错误:
无效参数 ' 候选人是: void setStatus(const enum {order.h:140} &) '
来自 GCC 的这个错误:
Store.cpp:250:31:错误:没有匹配的调用函数 âOrder::setStatus(OrderStatus) constâ Store.cpp:250:31: 注意: 候选是:
order.h:47:7: 注意: void Order::setStatus(const OrderStatus&)
order.h:47:7: 注意:从 âconst Order*â 到 âOrder*â 的隐式 âthisâ 参数没有已知的转换
我真的不知道 const 来自哪里(第 250 行)。