read - C++: ''set'' y ''vector'' "no declarado a pesar de las declaraciones#include
vector get c++ (3)
Estoy usando Netbeans 7.1 en Ubuntu 11.04.
La siguiente llamada
set< Triangle > V;
da el mensaje de error
error: ‘set’ was not declared in this scope
y la siguiente llamada
vector< Triangle > ans;
da el mensaje de error
error: ‘vector’ was not declared in this scope
Esto a pesar de tener
#include <vector>
#include <set>
#include <map>
al comienzo del archivo C ++.
A la hora de ayudar a resolver esto, sería muy apreciado.
Peter.
Ellos viven en el std
nombres std
. Por lo tanto, sea totalmente de calidad los tipos ( std::vector
) o use una instrucción de using namespace std;
( using namespace std;
).
La última opción contamina el espacio de nombres global. Nunca hagas eso en un archivo de cabecera (de lo contrario, todo el espacio de nombre se importa cuando incluyas el encabezado) y solo lo hagas en tu archivo de implementación si sabes que no va a causar ninguna colisión.
#include <vector>
int main(...) {
vector v; // no worky
std::vector v; // ok!
}
Los conjuntos de vectores y el mapa forman parte de la biblioteca estándar de C ++, por lo que debe llamar a vector / set / map con
std::vector< Triangle > ans;
o agregar
using namespace std;
después de las declaraciones include.
te olvidaste del espacio de nombres std:
std :: set <Triangle> V; std :: vector <Triangle> V;