Defaultparameter und Compilerfehler C3222
-
Hallo,
bekanntlich läßt sich das folgende nicht kompilieren (Fehler C3222):
ref class myClass { void doSomething(int a, int b = 1, bool c = true); };
Was ist der Hintergrund, warum dieses nützliche Feature bei verwalteten Typen nicht implementiert wurde? Das mehrfache Überladen welches in der MSDN angepriesen wird scheint mir ein umständlicher Workaround.
Gruss
foo
-
ref class myClass { void doSomething(int a, int b, bool c); }; void myClass::doSomething(int a,int b ,bool c) { doSomething(1,3,true); }
-
http://www.tech-archive.net/Archive/DotNet/microsoft.public.dotnet.languages.vc/2004-08/0777.html
Duck da noch mal...
Gruß, Heiner
-
foodax schrieb:
Hallo,
Was ist der Hintergrund, warum ....Das es so ist, steht fest, wie man es umgeht steht in der MSDN, nur wüsste ich gerne wieso
Gruss
foo
-
Die Lösung habe ich Dir doch schon oben gegeben.
Wenn Du mich fragst, warum geht das nicht?int _zahl = "d";
Schreib es bitte so...
int _zahl = 3;
Geht so langsam in dieses Kinder fragen, Fragen.
Dieses nie endende Warum?, Warum?, Warum ist das so?
Warum ist das Wasser nass?Gruß
-
Da C++/CLI auf .NET/CLR basiert enthält es die gleichen Einschränkungen wie C#. Siehe
http://blogs.msdn.com/csharpfaq/archive/2004/03/07/85556.aspx
-
rdr_test_5;30;60