PDA

View Full Version : Dev c++ e VC++ [Risolto]


stdecden
15-04-2007, 17:04
compilando il seguente codice con Dev-C++ non ottengo nessun Errore e funziona tutto correttamente.


#include<iostream>

int main(void)
{
while(true)
{
std::string Input;
std::cin >> Input;
std::cout << Input << "\n";
}
}


Se invece lo compilo con Visual C++ 2005 Express edition mi dá i seguenti errori:


.\main.cpp(8) : error C2679: binary '>>' : no operator found which takes a right-hand operand of type 'std::string' (or there is no acceptable conversion)
C:\Programme\Microsoft Visual Studio 8\VC\include\istream(1137): could be 'std::basic_istream<_Elem,_Traits> &std::operator >><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &,signed char *)' [found using argument-dependent lookup]
with
[
_Elem=char,
_Traits=std::char_traits<char>
]
C:\Programme\Microsoft Visual Studio 8\VC\include\istream(1139): or 'std::basic_istream<_Elem,_Traits> &std::operator >><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &,signed char &)' [found using argument-dependent lookup]
with
[
_Elem=char,
_Traits=std::char_traits<char>
]
/* Eccetera eccetera...... */
while trying to match the argument list '(std::istream, std::string)'
.\main.cpp(9) : error C2679: binary '<<' : no operator found which takes a right-hand operand of type 'std::string' (or there is no acceptable conversion)
C:\Programme\Microsoft Visual Studio 8\VC\include\ostream(650): could be 'std::basic_ostream<_Elem,_Traits> &std::operator <<<char,std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const char *)' [found using argument-dependent lookup]
with
[
_Elem=char,
_Traits=std::char_traits<char>
]
C:\Programme\Microsoft Visual Studio 8\VC\include\ostream(697): or 'std::basic_ostream<_Elem,_Traits> &std::operator <<<char,std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,char)' [found using argument-dependent lookup]
with
[
_Elem=char,
_Traits=std::char_traits<char>
]
/*Eccetera eccetera.......*/
while trying to match the argument list '(std::ostream, std::string)'
Il log di generazione è stato salvato in 'file://c:\Release\BuildLog.htm'
prova_cpp - 2 errore/i, 0 avviso/i


Qualcuno mi puó aiutare???

Energy++
15-04-2007, 17:15
includi string

#include <string>

stdecden
15-04-2007, 17:19
Grazie ora funziona tutto benissimo, ma comunque non riesco a spiegarmi come mai dev-cpp non mi fá l'errore!!

Energy++
15-04-2007, 17:21
non ne sono sicuro, ma credo che il compilatore del dev (gcc) includa queste librerie di default