2011-11-17 2 views
-6

누군가이 코드의 기능을 말해 줄 수 있습니까?이 C++ 코드 세그먼트는 무엇을합니까?

const boost::system::error_code& 

내가이 코드는 포인터, 을 통해 함수에 연결하는 데 사용되는 것으로 생각하지만, 그것이 무엇 다인가?

는 전체 코드가있다 : 나는 boost::asio를 모르는

#include <iostream> 
#include <boost/asio.hpp> 
#include <boost/date_time/posix_time/posix_time.hpp> 

void print(const boost::system::error_code&) 
{ 
    std::cout<<"hello word\n"; 
} 
int main() 
{ 
    boost::asio::io_service io; 

    boost::asio::deadline_timer t(io, boost::posix_time::seconds(5)); 
    t.async_wait(&print); 
    io.run(); 
    return 0; 
} 
+0

더 많은 코드, 컨텍스트, 질문의 이유를 표시 할 수 있습니까 ?? –

+1

형식을 지정하지만 나머지 명령문은 사용하지 않습니다. –

+1

이 도움이 될 수 있습니다 : http://stackoverflow.com/questions/2490456/how-to-use-unnamed-function-arguments-in-c-or-c – Nim

답변

2

,하지만 난 boost::asio::deadline_timer::async_wait()이 유형 const boost::system::error_code&의 인수를 복용하는 기능이 필요하다고 생각한다. async_wait()을 호출하려면 해당 함수에 대한 포인터를 전달해야합니다.

void print(const boost::system::error_code&)은 그러한 기능입니다.

함수 인수를 사용하지 않으려면 이름을 그대로 둘 수 있습니다. 이렇게하면 제공된 함수 인수 중 하나를 사용하지 않을 때 일반적으로 경고 컴파일러가 방출되는 것을 방지 할 수 있습니다.