xcdemon05
xcdemon05

Reputation: 716

Errors when trying to use a vector

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

Answers (4)

Jigyasu Dhingra
Jigyasu Dhingra

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

Shafik Yaghmour
Shafik Yaghmour

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

Pubby
Pubby

Reputation: 53047

It's in the std namespace:

std::vector<int> someVector;

Upvotes: 5

Brandon Buck
Brandon Buck

Reputation: 7181

The vector class is part of the std namespace. You need to replace your declaration with std::vector<int> instead.

Upvotes: 10

Related Questions