해결할 수없는 이상한 오류가 발생합니다.C++ 잘못된 인수입니다. ".."다른 클래스의 Setter
Store.cpp, Store.h (클래스 저장소가 여기에 정의 됨), Order.cpp, Order.h (여기에는 Order 클래스가 정의 됨) 파일이 거의 없습니다.
Store.cpp는 #include "Order.h"
입니다. 클래스 Order
내부
void setStatus(const OrderStatus& orderStatus);
OrderStatus이 열거입니다.
(*itr).setStatus(ORDER_DONE);
내가 일식이 오류를 얻을 :
Invalid arguments ' Candidates are: void setStatus(const enum {order.h:140} &) '
그리고 GCC에서이 오류 :
나는 다음 줄에 Store.cpp에서 사용하기 위해 노력하고있어 때Store.cpp:250:31: error: no matching function for call to âOrder::setStatus(OrderStatus) constâ Store.cpp:250:31: note: candidate is:
order.h:47:7: note: void Order::setStatus(const OrderStatus&)
order.h:47:7: note: no known conversion for implicit âthisâ parameter from âconst Order*â to âOrder*â
저는 const가 어디에서 왔는지 정말로 모르겠습니다 (250 행).
죄송합니다. 저는 const가 아닌 반복자가 필요합니다. –
이것은 (> = this- ITR orders.begin() :: 반복자를 설정! \t \t \t ITR을 = this-> orders.end(); ++ ITR) 무엇을 사용하여 메신저 .. \t입니다 –
을 @ NadavPeled : 집합은 const 액세스 만 허용합니다. 그렇지 않으면 순서를 완전히 망칠 수 있습니다. – Xeo