Форум программистов, компьютерный форум CyberForum.ru

Не могу объявить вектор в классе - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.95
Germanarih
 Аватар для Germanarih
2 / 2 / 0
Регистрация: 14.03.2011
Сообщений: 101
14.03.2011, 23:02     Не могу объявить вектор в классе #1
Здравствуйте. Изучаю С++, пишу игру "Покер".) Только начал и сразу столкнулся с проблемой. При объявлении массива стрингов с помощью вектора в классе компилятор ругается на то, что я использую константу. Объясните, что делаю не так. Заранее благодарен.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
#include <map>
#include <vector>
#pragma once
 
using namespace std;
 
class Kard
{
    vector <string> suits(4); // Масти.
    vector <string> value(9); // Достоинства карт.
    
public:
    Kard(void);
    ~Kard(void);
};
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.03.2011, 23:02     Не могу объявить вектор в классе
Посмотрите здесь:

C++ необходимо в шаблонном классе, один из параметров которого контейнер, объявить итератор этого контейнера
C++ Как в классе правильно объявить массив с константой в качестве размерности?
C++ Как объявить массив объектов одного класса в другом классе, а затем поместить в него объекты?
Как правильно объявить вектор? C++
Как объявить вектор фиксированной длины в классе? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
14.03.2011, 23:05     Не могу объявить вектор в классе #2
Germanarih, нельзя юзать константу.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <string>
#include <map>
#include <vector>
#pragma once
 
using namespace std;
 
class Kard
{
        vector <string> suits; // Масти.
        vector <string> value; // Достоинства карт.
        
public:
        Kard();
        ~Kard();
};
 
Kard::Kard()
{
    suits.resize(4);
    value.resize(9);
}
slava_g1
 Аватар для slava_g1
70 / 70 / 8
Регистрация: 06.02.2011
Сообщений: 127
14.03.2011, 23:08     Не могу объявить вектор в классе #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
#include <map>
#include <vector>
#pragma once
 
using namespace std;
 
class Kard
{
        vector <string> suits[4]; // Масти.
        vector <string> value[9]; // Достоинства карт.
        
public:
        Kard(void);
        ~Kard(void);
};
Размерность передается в [ ]
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
14.03.2011, 23:09     Не могу объявить вектор в классе #4
slava_g1, Вы вообще понимаете что вы сделали? оО
Массив из 4 векторов строк...
Массив из 9 векторов строк...
Germanarih
 Аватар для Germanarih
2 / 2 / 0
Регистрация: 14.03.2011
Сообщений: 101
14.03.2011, 23:50  [ТС]     Не могу объявить вектор в классе #5
Спасибо, ForEveR, я понял.
Yandex
Объявления
14.03.2011, 23:50     Не могу объявить вектор в классе
Ответ Создать тему
Опции темы

Текущее время: 05:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru