"type specifier omitted for parameter" 이 에러는

jinoos의 이미지

어떤 순간에 발생하는건가요?

A라는 header 파일에는

typedef struct {
~~~
~~~
~~~
} _ProfileInfo;

이런식으로 정의되어있고 B라는 헤더 파일에서 _ProfileInfo 구조체를 사용하는 함수의 선언이 있습니다.
int getUserProfile(char *pCpid, char *pCpPwd, char *pReq, char *pReqType, _ProfileInfo *ProfileInfo, _SearchInfo *SearchInfo);

그리고 C라는 파일에서 두 헤더를 불러와서 컴파일 하려는데 자꾸

userprofile.h:32: type specifier omitted for parameter

이런식으로 에러가 뿌려집니다.

C++ 코드가 섞여 있어써 C코드를 g++로 컴파일 했습니다. 혹시 이런 에러시
적절한 초치 법이라던지 아니면 주의해야할 사항이라던지 알고계시면 답변 부탁드립니다.

PS : 업무상사용되는 코드라 내용을 전부 못보여드려서 죄송합니다.

kane의 이미지

혹시 _SearchInfo가 없는 건... :)

gcc 버젼은 몇인가요?
3.4 이전에 생성자를 함수로 취급할건지 식으로 취급할건지 정하는 부분에서 버그가 있었다는군요. (이게 무슨 뜻인지는 저에게 묻지 마세요. 이해는 못하고 있습니다. :cry: ) Temporary를 사용할때 문제를 일으키는 것 같습니다.
아래 링크들을 읽어보세요.

Longstanding g++ parser bug?
Re: Longstanding g++ parser bug?
Bugs fixed in the 3.4 series

jinoos의 이미지

감사합니다.

그문제가 맞군요. T_T 컴파일러 버전을 올릴수가 없는 상황인데
참 난감하네요. 버그 제조기라는 별명이 생각났습니다. 하필 이때 T_T

업체 라이브러리를 가져다 쓰는중인데.. 제 코드를 전부 함수 베이스로
만들어야 할것 같습니다.

답변 감사합니다.

목적을 찾아서... jiNoos