2012-02-24 9 views
0

문자 그대로 내가이 작업을 수행 할 수는 :C++, 화합물 C에서

ppackage ppnull() { 
    return (ppackage) { 
     .type = NULL 
    } 
} 

그러나 C++에서 나는 구문 오류를 얻을. 나는 GNU g++ 컴파일러를 사용한다. 이 스위치를 사용할 수 있습니까? 당신은 초기화 목록을 사용할 수 있습니다 c++11

+0

수행'ppackage의 P = {}; return p;'또는'return {};'이 있으면 C++ 11이됩니다. –

답변

2

:

struct ppackage 
{ 
    void* type; 
}; 

ppackage ppnull() 
{ 
    return {nullptr}; 
} 

또는이 표준 C++ 아닌 단지

ppackage ppnull() 
{ 
    return {}; 
} 
+0

거기에'nullptr'을 넣는 것은 불필요합니다. –

+2

@SethCarnegie, ok,하지만 우선은 더 명확합니다. – Lol4t0

+0

이제 ppackage 안에 많은 구조체가있는 anonymouse 조합이 있습니다. 거기에'{.type = 'f', .fetch = { "home"}}' – imacake