I am using Netbeans 7.1 on Ubuntu 11.04.
The following call
set< Triangle > V;
gives the error message
error: ‘set’ was not declared in this scope
and the following call
vector< Triangle > ans;
gives the error message
error: ‘vector’ was not declared in this scope
This despite my having
#include <vector>
#include <set>
#include <map>
at the beginning of the C++ file.
At help resolving this would be greatly appreciated.
Peter.
They live in the
std
namespace. So, either fully quality the types (std::vector
) or use ausing
statement (using namespace std;
).The latter option pollutes the global namespace. Never do that in a header file (otherwise the entire namespace is imported when you include the header) and only do it in your implementation file if you know that it isn't going to cause any collisions.
you forgot about namespace std :
std::set< Triangle > V; std::vector< Triangle > V;
Vectors Sets and map are part of the c++ Standard Library so you need to call vector/set/map with
or add
after the include statements.