yılında C'den anonim yapıyı ilanİleri ben böylece bir şey göre değişebilir, bu dosya otomatik bir program aracılığıyla oluşturulur</p> <pre><code>typedef struct { ... }A; </code></pre> <p>benzer bir anonim yapıya sahip bir üçüncü şahıs C kütüphane var C++
Şimdi
void foo(const A & in)
{
...
}
olarak örneğin, yukarıdaki tür argümanı kabul C++ projede ben ileriye yukarıdaki işlevini tanımlayan başlık dosyasına a bildirmek nasıl?
denedim:
typedef struct A A;
veya
struct A;
ve meraktan da
typedef A A;
. Bununla birlikte, bunlar türün yeniden tanımlanması için derleme zamanı hatasıyla sonuçlanır. Teşekkürler
'typedef struct {...} A; '? Tanımını yapan kitaplık için başlık dosyasını ekleyemez misiniz? – rjp
Bu, anonim bir yapı değil (C standardında 6.7.2.1p13'e bakın). "Struct" veya "union" dışında bir anonim yapıya sahip olamazsınız. – Olaf
C, C++ değildir. Sadece C++ standardını kullanın. Sorunun ne olduğu belli değil, hiçbirini göremiyorum. 'Typedef'ed adını kullanarak sorun nedir? – Olaf