У меня есть вектор С++. Я хочу, чтобы вектор содержал переменное количество объектов.
Visual Studio 2012 дает мне ошибку:
Error: type name is not allowed
Из этого кода на С++:
#include <iostream>
#include <vector>
using namespace std;
class testObject{
private:
int someInt;
public:
testObject(int a){ someInt=a; }
void show() { cout<<someInt<<endl; }
};
int main()
{
vector<testObject> testVector;
cout << "Initial size: " << testVector.size() <<endl;
for ( int i = 0; i < 3; i++ )
testVector.push_back(testObject(3));
cout << "New size: " << testVector.size() << endl;
for ( int j = 0; j < 3; j++ )
testVector[ j ].show();
system("pause");
}
Но вот еще один пример кода, который выглядит так же, но он не работает.
void Dealer::setNumberOfPlayers( const int tNumber )
{
for ( int i = 0; i < tNumber; i++ )
vectorOfGamers.push_back(Player); // Player is a class that I created
}
Можно ли создать вектор для одновременного хранения объектов Dealer, Bot и Player? Как мне это сделать? Как я знаю, все объекты в векторе должны быть одного типа.