mam TRZECIEJ C bibliotekę z anonimowego strukturę podobną doForward deklarując anonimową strukturę z C na C++
typedef struct
{
...
}A;
Plik ten jest generowany automatycznie przez program, co można zmienić na podstawie czegoś
teraz w projekcie C++ przyjmuję argumentu powyższego rodzaju, na przykład jako
void foo(const A & in)
{
...
}
jak naprzód zadeklarować w nagłówku pliku definiującego powyższą funkcję?
Próbowałem:
typedef struct A A;
lub
struct A;
a także
typedef A A;
z ciekawości.
Jednak powoduje to błąd w czasie kompilacji przedefiniowania typu. Dzięki
Nie można dołączyć pliku nagłówkowego biblioteki, która zdefiniowała 'typedef struct {...} A;'? – rjp
To nie jest anonimowa 'struct' (patrz 6.7.2.1p13 w standardzie C). Nie możesz mieć anonimowego 'struct's poza' struct' lub 'union'. – Olaf
C nie jest C++. Po prostu użyj standardu C++. Nie jest jasne, jaki masz problem, nie widzę żadnego. Na czym polega problem z użyciem nazwy "typedef'? – Olaf