에 C에서 익명의 구조를 선언은 앞으로 내가 이렇게 뭔가에 따라 변경 할 수 있습니다,이 파일은 자동으로 프로그램을 통해 생성되는</p> <pre><code>typedef struct { ... }A; </code></pre> <p>유사한 익명의 구조와 타사 C 라이브러리가 C++
지금은
void foo(const A & in)
{
...
}
예를 들어, 위의 유형의 인수를 수락 C++ 프로젝트에 나는 앞으로 위의 함수를 정의하는 헤더 파일에 선언 어떻게해야합니까?
이 나는 시도했다 :
typedef struct A A;
또는
struct A;
과 호기심도
typedef A A;
.
그러나 그 결과 유형을 재정의하는 데 컴파일 시간 오류가 발생합니다. 감사합니다.
'typedef struct {...} A;'를 정의한 라이브러리의 헤더 파일을 포함 할 수 없습니까? – rjp
그건 익명의'struct'가 아닙니다 (C 표준의 6.7.2.1p13 참조). 익명의'struct'가'struct' 또는'union'의 밖에있을 수 없습니다. – Olaf
C는 C++이 아닙니다. C++ 표준을 사용하십시오. 문제가 무엇인지 분명히 알지 못합니다. 아무 것도 볼 수 없습니다. 'typedef'라는 이름을 사용하면 무슨 문제입니까? – Olaf