boost::disable_if fehler
-
Ich bekomme bei folgender funktion einen Fehler wenn ich sie mit std::string aufrufe:
template< typename T > T get( const std::string& name, typename boost::disable_if< boost::is_same< T, std::string > >::type* p = 0 ) { }Fehler:
error C2770: Ungültiges explizites Vorlagenargument(e) für 'T get(const std::string&,boost::disable_if<boost::is_same<ValueType,std::string>>::type *)'
Die Beispiele in der boost doku sehen genauso aus, daher verstehe ich nicht was hier falsch sein soll, könnt ihr mich aufklären?
Mein Compiler ist der vc7.1
-
Die richtige Fehlermeldung:
error C2770: Ungültiges explizites Vorlagenargument(e) für 'T get(const std::string&,boost::disable_if<boost::is_same<T,std::string>>::type *)'
-
Hat sich erledigt, die spezialisierung für std::string hat einen const std::string& zurückgegeben statt by value wie der Rest.