Template
-
Ich komme mit einer Funktion aus.
Zum Workaround: Hast du ein kleines Beispiel?
-
nicht wirklich. Mußt mal im Forum suchen, es gibt sicher ne Menge dazu. Hume hat da das ein oder andere gebastelt. Ich kenne mich da nicht so aus, mein Compiler kann das. :p
-
Hume, mach mal ein Beispiel.
-
http://www.c-plusplus.net/forum/viewtopic.php?t=69116&highlight=template+workaround
wäre zum Beispiel eins. Such einfach mal nach template workaround und Autor: HumeSikkins. Da findest Du noch mehr.
MfG Jester
-
Jester schrieb:
http://www.c-plusplus.net/forum/viewtopic.php?t=69116&highlight=template+workaround
wäre zum Beispiel eins. Such einfach mal nach template workaround und Autor: HumeSikkins. Da findest Du noch mehr.
MfG Jester
Danke vielmals.
-
Jester schrieb:
Oh, ich glaub der 6.0 kann keine member-templates.
Ganz so schlimm ist es nicht. Der VC 6.0 unterstützt Member-Templates, kommt aber nicht mit einer Definition außerhalb der Klassendefinition klar.
Sprich statt:
class AClass { //... template<class T> static int StaticMethod(std::vector<T> Vector); }; //Impl template <class T> int AClass::StaticMethod(std::vector<T> Vector) { return 0; }
muss man hier:
class AClass { //... template<class T> static int StaticMethod(std::vector<T> Vector) { return 0; } };
schreiben.
-
@HumeSikkens:
Auch wenn ich das so mache wie du vorschlägst sagt der Compiler:*****
fatal error C1001: INTERNAL COMPILER ERROR
(compiler file 'msc1.cpp', line 1794)
Please choose the Technical Support command on the Visual C++
Help menu, or open the Technical Support help file for more information
Error executing cl.exe.Temp1.exe - 1 error(s), 0 warning(s)
*****
-
Ändere mal
AClass::StaticMethod<int>(Vec);
in
AClass::StaticMethod(Vec);
Keine Ahnung, ob das was bringt. Einen Versuch ist es aber wert.
Ansonsten, meine Empfehlung
Compilerupdate.
-
Hab alles Vorgeschlagene auspropbiert und kriege immer noch den Compilererror.
-
Hallo,
kann es sein, dass du kein aktuelles Service Pack (SP 5.0 oder 6.0) für denen VC 6.0 installiert hast?
Ich kenne deinen Kontext nicht, aber ein einfaches Beispiel wie:class AClass { public: //... template<class T> static int StaticMethod(std::vector<T> Vector) { return 0; } }; int main() { AClass a; vector<int> v; AClass::StaticMethod(v); a.StaticMethod(v); }
übersetzt mein VC 6.0 SP 5 anstandslos.
-
@HummeSikkins
Ich hab tatsächlich nie ein SP installiert.
Ich installiere heute Abend SP6.
Danke für deine Hilfe
Bist ein richtiger Experte
)
Hast mehr Plan von meinem Rechner als ich selbst