Reputation: 716
At the top of my file main.h I have:
#include <vector>
class Blah
{
public:
Blah(){}
~Blah(){}
protected:
vector<int> someVector;
public:
//methods
};
When I try to compile, the vector declaration line gives the errors:
error C2143: syntax error : missing ';' before '<'
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
error C2238: unexpected token(s) preceding ';'
I can't figure out what's causing this. Anybody see what I'm doing wrong?
Upvotes: 2
Views: 14113
Reputation: 181
Instead of using,
std::vector someVector;
Always try to use,
using namespace std;
Because it will help you not to type 'std::' again and again, and it is not considered a good practice.
Upvotes: 0
Reputation: 158469
vector is part of the std namespace and so you need to add std::
to your declaration:
std::vector<int> someVector;
Since the suggestion was made in another answers, I want to also discourage the use of using namespace std
since it is considered bad practice
Upvotes: 3
Reputation: 7181
The vector
class is part of the std
namespace. You need to replace your declaration with std::vector<int>
instead.
Upvotes: 10