manipuladores stringstream y vstudio 2003
-
09-06-2019 - |
Pregunta
Estoy intentando usar un objeto stringstream en VC++ (VStudio 2003) pero recibo un error cuando uso el operador << sobrecargado para intentar configurar algunos manipuladores.
Estoy intentando lo siguiente:
int SomeInt = 1;
stringstream StrStream;
StrStream << std::setw(2) << SomeInt;
Esto no se compilará (error C2593:'operador <<' es ambiguo).
¿VStudio 2003 admite el uso de manipuladores de esta manera?
Sé que puedo establecer el ancho directamente en el objeto stringstream, por ejemplo.StrStream.ancho(2);
Me preguntaba por qué el método más habitual no funciona.
Solución
¿Está seguro de que incluyó todos los encabezados correctos?Lo siguiente se compila para mí en VS2003:
#include <iostream>
#include <sstream>
#include <iomanip>
int main()
{
int SomeInt = 1;
std::stringstream StrStream;
StrStream << std::setw(2) << SomeInt;
return 0;
}
Otros consejos
Me encanta esto sitio de referencia para transmitir preguntas como esta.
/Alano
Probablemente olvidó incluir iomanip, pero no puedo estar seguro porque no incluyó código para un programa completo allí.
Este programa completo funciona bien aquí usando VS 2003:
#include <sstream>
#include <iomanip>
int main()
{
int SomeInt = 1;
std::stringstream StrStream;
StrStream << std::setw(2) << SomeInt;
}