Heim > Backend-Entwicklung > C++ > Hauptteil

Wie deklariere ich eine Template-Struktur als Freund in C?

DDD
Freigeben: 2024-11-06 15:49:02
Original
283 Leute haben es durchsucht

How to Declare a Templated Struct as a Friend in C  ?

Template-Struktur/Klassen-Deklaration als Freund

Bei der C-Programmierung kann es vorkommen, dass eine Template-Struktur oder -Klasse als Freund deklariert wird gewünscht. Wenn Sie jedoch den folgenden allgemeinen Ansatz versuchen, melden einige Compiler, wie z. B. Visual C 8 (VC8), Fehler:

template <typename T>
struct foo
{
    template <typename S>
    friend struct foo<S>;
};
Nach dem Login kopieren

Der Grund für diesen Fehler ist, dass der Compiler nicht in der Lage ist, mehrere Vorlagenparameterlisten in einem zu verarbeiten einzelne Zeile. Um dieses Hindernis zu überwinden, wird eine alternative Syntax eingeführt:

template <typename> friend class foo;
Nach dem Login kopieren

Durch Angabe einer leeren Vorlagenparameterliste gilt die Friend-Deklaration nun für alle potenziellen Instanziierungen der vorlagenbasierten Struktur oder Klasse. Es ist jedoch erwähnenswert, dass durch diesen Ansatz alle Vorlagen miteinander befreundet werden. Beispielsweise foo und foo würden beide Freunde sein, trotz Ihrer ursprünglichen Absicht, Instanzen von foo als Freunde von foo zu deklarieren.

Das obige ist der detaillierte Inhalt vonWie deklariere ich eine Template-Struktur als Freund in C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!