C++ friend global template operator
-
Hallo,
mit folgendem Code komme ich nicht weiter. Ich weiß einfach nicht wo der Fehler liegt. Über weitere Hilfe wäre ich sehr dankbar.
Mir bereitet die friend-Deklartion auf einen globalen template Operator erhebliche Kopfschmerzen. Ich bekomme das auf dem GCC einfach nicht kompiliert.
namespace n { template<typename T> class A; } template<typename T> n::A<T> operator + (const T v, const A<T> & ref); // ---------------------------------- namespace n { template<typename T> class A { public: A<T> operator + (const T v) const; public: friend A<T> (::operator + < >) (const T v, const A<T> & ref); }; } // stark vereinfacht, Tippfehler inclusive :-)Ich benutze
- Eclipse
- GCC 4.6.2
- mit #define __GXX_EXPERIMENTAL_CXX0X__Eclipse meldet mir nach dem Compiliervorgang für die Zeile 18
- Invalid overload of 'operator +'
- Invalid overload of '::operator + <>'
-
Ist das die vollständige Fehlermeldung?
-
pyhax schrieb:
Ist das die vollständige Fehlermeldung?
Das ist die Meldung von Eclipse im Texteditor.
Ich habe nun ein paar weitere Fehler korregiert und den Code erfolgreich compiliert. Anscheinend hat das CDT-Plugin mit dem Code so seine Probleme. Der GCC nicht
Kompiliert alles einwandfrei.Danke.