gcc mit verbesserten Fehlermeldungen bei typedefs
Verfasst: Mo Dez 12, 2011 12:24 am
Heute habe ich ein Funktion mit Parametern vom falschen Typ aufgerufen und dabei eine praktische Verbesserung in g++-4.6 entdeckt. Code ist dabei zb folgender:
Vor allem bei Templates dürfte das auch sehr hilfreich sein können.
Code: Alles auswählen
struct Blub{};
typedef Blub blab;
void blub(blab* x)
{
}
struct Test{};
typedef Test MyType;
int main(int argc, char* argv[])
{
blub(MyType{});
return 0;
}
g++-4.5 hat geschrieben:test.cpp:13:16: Fehler: »MyType« kann nicht nach »blab*« für Argument »1« nach »void blub(blab*)« umgewandelt werden
Praktisch, oder?g++-4.6 hat geschrieben:test.cpp:13:16: Fehler: »MyType {aka Test}« kann nicht nach »blab* {aka Blub*}« für Argument »1« nach »void blub(blab*)« umgewandelt werden
