2013-08-20 3 views
3

poco c++ libraries, 특히 을 poco에서 사용 중이며 이미 GET 요청을받을 수 있습니다. (나는 24 세 이상에서 this 자습서를 따라 갔다). 하지만 난 POST 요청을 처리하는 방법을 알아낼 수 없다, 특히, 어떻게 poco로 POST 요청에서 요청 본문을 읽을 수 있습니까? 클래스 HttpServerRequest의 문서에서 나는 방법 stream이 사용될 수 있음 읽어POST 요청에서 본문을 읽는 방법

virtual std::istream & stream() = 0; 
Returns the input stream for reading the request body. 

좋아, 내가 좋아하는이 메서드를 호출 할 내 코드 :

std::istream& istr = request.stream(); 

을하지만 난 무엇입니까 오류 : 여기 내 메서드 호출 뭐가 잘못

error: passing 'const Poco::Net::HTTPServerRequest' as 'this' argument of 'virtual std::istream& Poco::Net::HTTPServerRequest::stream()' discards qualifiers

? 아무도 도와 줄 수 있습니까? 또는 예제를 제공합니까? 당신은 코드의 관련 부분을 제거하기 때문에

종류, 잘 모르겠어요

+2

문제는 당신이 const''로'request' 객체를 선언한다는 것입니다, 그것은 또한'const' 선언 만 메소드를 호출 할 수 있음을 의미합니다. –

답변

1

과 관련,하지만 문제는 요청 -object가 const를로 선언되어 있기 때문에 발생하는 것 같습니다. HTTPServerRequest :: stream()은 const로 선언되어 있지 않으므로 const 개체에서이 메서드를 호출 할 수 없습니다.

다음을 확인하십시오. HTTPServerRequest :: stream() 메서드는 어디에 호출합니까? 요청 객체는이 위치에서 어디에서 왔습니까? 변수가 상수 (예 : const 함수 매개 변수로 전달됨)로 선언 되었습니까? 이 곳에서 상수로 선언되어야합니까?

인사말

+0

고맙습니다.이 문제가 정확히 발생했습니다. 적어도 C++ 초보자에게는 오류 메시지를 이해하기 어렵습니다. :) – Moonlit