xlocmon(410): error C2593: 'Operator ,' ist mehrdeutig
-
Hallo!
Ich habe ein kleines, fieses Problem mit VC++ 2010 und bin mit meinem Latein am Ende. Ich habe mir die Bibliothek SymbolicC++3 3.35 for Visual C++ (http://issc.uj.ac.za/symbolic/symbolic.html) heruntergeladen und versucht das mitgelieferte Projekt zu kompilieren. Leider funktioniert es nicht. An der Stelle
list<Symbolic> operator,(const Symbolic &,const int &); list<Symbolic> operator,(const Symbolic &,const double &);
in der symbolicc++.h(161) bekomme ich die Fehlermeldung:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xlocmon(410): error C2593: 'Operator ,' ist mehrdeutig
D:\test\include\symbolic/symbolicc++.h(162): kann 'std::list<_Ty> operator ,(const Symbolic &,const double &)' sein
with
[
_Ty=Symbolic
]
D:\test\include\symbolic/symbolicc++.h(161): oder "std::list<_Ty> operator ,(const Symbolic &,const int &)"
with
[
_Ty=Symbolic
]
bei Anpassung der Argumentliste '(std::basic_string<_Elem,_Traits,_Ax>, size_t)'
with
[
_Elem=char,
_Traits=std::char_traits<char>,
_Ax=std::allocator<char>
]
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xlocmon(395): Bei der Kompilierung der Klassen-template der std::istreambuf_iterator<_Elem,_Traits> std::money_get<_Elem,_InIt>::do_get(_InIt,_InIt,bool,std::ios_base &,std::ios_base::iostate &,long double &) const-Memberfunktion
with
[
_Elem=char,
_Traits=std::char_traits<char>,
_InIt=std::istreambuf_iterator<char,std::char_traits<char>>
]
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xlocmon(920): Siehe Verweis auf die Instanziierung der gerade kompilierten Klassen-template "std::money_get<_Elem,_InIt>".
with
[
_Elem=char,
_InIt=std::istreambuf_iterator<char,std::char_traits<char>>
]Der gleiche Fehler taucht noch ein paar mal auf, nur verstehe ich nicht warum, schließlich sind die Argumenttypen double und int ja unterschiedlich. Vielleicht kann mir jemand dabei helfen, mit GCC unter Linux funktioniert es, nur brauche ich jetzt zwangsweise eine Windows-Version der Bibliothek.
Vielen Dank
Mr. S
-
Hallo,
ich habe dasselbe Problem mit Visual Studio C++ 9.0.
Es entsteht bei Verwendung der Standardheader
<string>
<locale>
<xlocmon>
Da <xlocmon> nicht benötigt wird in den meisten Fällen,
definiere einfach den Includeguard _XLOCMON_, um das Lesen des Headers
<xlocmon> zu verhindern.
Dies ist nur ein Workaround für die Verwendung der "operator," in SymbolicC++.Viele Grüße,
fiffty