Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
eter4eter
0 / 0 / 0
Регистрация: 12.02.2014
Сообщений: 16
#1

Ошибка заполнения вектора строк в классе - C++

12.02.2014, 21:31. Просмотров 1072. Ответов 38
Метки нет (Все метки)

Никак не могу разобраться. Пробовал по-разному и всегда выскакивали ошибки
Вот есть класс resourse
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
class resourse
{
private:
    int definitions; // = 5;
    int unions;// = 21;
    int prepositions;// = 28;
    int closures;// = 18;
    int particles;// = 32;
    int prefix;// = 21;
    int suffix;// = 55;
 
    bool initDefinitions(int n = 5);
    bool initUnions(int n = 21);
    bool initPrepostitions(int n = 28);
    bool initClosures(int n = 18);
    bool initParticles(int n = 32);
    bool initPrefix(int n = 21);
    bool initSuffix(int n = 55);
public:
    resourse(void);
    ~resourse(void);
    int getDefinitions();
    int getUnions();
    int getPrepositions;
    int getClosures();
    int getParticles();
    int getPrefix();
    int getSuffix();
};
Потом я описываю функции класса
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
resourse::resourse(void)
{
}
 
resourse::~resourse(void)
{
}
 
bool resourse::initDefinitions(int n)
{
       
        definitions.push_back(".");
        definitions.push_back("!");
        definitions.push_back("?");
        definitions.push_back("!?");
        definitions.push_back("?!");  
               
}
// и другие функции
При попытке компиляции куча ошибок связанных с push_back.
Объясните, пожалуйста, что я не так делаю...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.02.2014, 21:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка заполнения вектора строк в классе (C++):

Функция заполнения вектора - C++
Доброго времени суток всем, кто на форуме. Где-то мне попадалась функция, которая может заполнить все элементы вектора определенным...

Организация заполнения вектора с консоли - C++
есть код для заполнения массива #define ESC 27 vector <int> Heights; int h; while ( getch() != ESC ) { cin >>...

While(cin >> x) или подскажите другие способы заполнения вектора - C++
Читаю Страуструпа. Ну и естественно делаю упражнения. И вот дошел до 5 главы, где понадобилась его гребаная библиотека...

Объявление вектора в классе - C++
Здравствуйте! объявляю структуру в h файле: struct Admin { char login_admin; char pass_admin; }; class Nev_potok_blok { ...

Ошибка с итераторами для целочисленного вектора и вектора структуры - C++
Пытаюсь разобраться с векторами. Для динамической работы с памятью вещь, вроде, замечательная и удобная. Только необходимо использовать...

Реализовать функцию перемещения строк, принимающую в качестве параметров два вектора строк - C++
Подскажите насколько правильно решена задача. условие: Напишите функцию MoveStrings, которая принимает два вектора строк, source и...

38
alsav22
5428 / 4823 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.02.2014, 22:03 #16
Цитата Сообщение от programina Посмотреть сообщение
повлияет.
А если объяснить: почему повлияет?
0
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
12.02.2014, 22:05 #17
alsav22, так. Если она приватная, то к ней нельзя доступиться.
0
alsav22
5428 / 4823 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.02.2014, 22:07 #18
Цитата Сообщение от programina Посмотреть сообщение
Если она приватная, то к ней нельзя доступиться.
При чём здесь тогда это?
Цитата Сообщение от eter4eter Посмотреть сообщение
При попытке компиляции куча ошибок связанных с push_back.
Если нет доступа, то ошибки были бы связаны с initDefinitions() (писалось бы, что недоступно), а не с push_back().
0
programina
12.02.2014, 22:08
  #19

Не по теме:

Цитата Сообщение от alsav22 Посмотреть сообщение
При чём здесь тогда это?
Добро пожаловать в удивительный мир Visual Studio

0
alsav22
5428 / 4823 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.02.2014, 22:10 #20
Цитата Сообщение от programina Посмотреть сообщение
Добро пожаловать в удивительный мир Visual Studio
При чём здесь "мир Visual Studio"? Пишут же (и не только я):
Цитата Сообщение от Aloir Посмотреть сообщение
А так компилируется..
В выложенном коде нет ошибок.
0
Aloir
218 / 218 / 13
Регистрация: 17.12.2010
Сообщений: 692
12.02.2014, 22:11 #21
Цитата Сообщение от programina Посмотреть сообщение

Не по теме:


Добро пожаловать в удивительный мир Visual Studio

Не по теме:

заполнения вектора идет в методе класса, где этот вектор является членом этого класса, нам не важен спецификатор доступа, вообще в данном случае они не важны

0
alsav22
5428 / 4823 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.02.2014, 22:12 #22
А ТС упорно не отвечает на вопрос:
Цитата Сообщение от alsav22 Посмотреть сообщение
Откуда файл взялся, с тем же именем поля, но не вектора строк?
Приведённые ошибки (в первом посте) были по коду в первом посте, а не по последнему.
0
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
12.02.2014, 22:12 #23
Цитата Сообщение от alsav22 Посмотреть сообщение
В выложенном коде нет ошибок.
Тогда подождем остальные части кода )
0
DU
1484 / 1130 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
12.02.2014, 22:15 #24
проблема может быть в
#include "resourse.h"
что это за файл? может компилятор видит не тот файл, который ожидает автор.
например в некоторых типах проектов студия сама генерит файл с таким именем. может ее
от этого клинит. или банально правится файл в другом месте, а студия смотрит на старый.
0
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
12.02.2014, 22:17 #25
Цитата Сообщение от Aloir Посмотреть сообщение
заполнения вектора идет в методе класса, где этот вектор является членом этого класса, нам не важен спецификатор доступа, вообще в данном случае они не важны
Не важно откуда этот вектор, важно то, что сам метод приватный и поэтому его нельзя вызывать.
0
alsav22
12.02.2014, 22:19
  #26

Не по теме:

Цитата Сообщение от programina Посмотреть сообщение
Не важно откуда этот вектор, важно то, что сам метод приватный и поэтому его нельзя вызывать.
Где-то виден его вызов? Совсем нельзя вызывать? Или в методах класса, всё-таки, можно?

0
Aloir
12.02.2014, 22:19
  #27

Не по теме:

Цитата Сообщение от programina Посмотреть сообщение
Не важно откуда этот вектор, важно то, что сам метод приватный и поэтому его нельзя вызывать.
метод нельзя вызывать извне данного класса
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
class test
{
    test()
    {
        somefunct();
    }
 
    void somefunct()
    {
 
    }
};


пс: и этот приватный метод можно еще вызвать с дружественного класса или функции)
пспс: я думаю мы просто недопонимаем где-то друг друга =)

лучше подождем тс

0
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
12.02.2014, 22:21 #28
Цитата Сообщение от alsav22 Посмотреть сообщение
Где-то виден его вызов? Совсем нельзя вызывать? Или в методах класса, всё-таки, можно?
Конструктор пустой. Я больше ничего кроме пустого конструктора не вижу.
0
alsav22
12.02.2014, 22:21
  #29

Не по теме:

Цитата Сообщение от Aloir Посмотреть сообщение
я думаю мы просто недопонимаем где-то друг друга =)
А я думаю, что всё programina понимает.

1
Aloir
12.02.2014, 22:23     Ошибка заполнения вектора строк в классе
  #30

Не по теме:

ощущение что кто-то кого-то тролит

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.02.2014, 22:23
Привет! Вот еще темы с ответами:

Сортировка строк в классе - C++
Есть готовая программа. Нужно результаты выбить в алфавитном порядке. #include <iostream> using namespace std; struct warehouse ...

Массив строк в классе - C++
Пожалуйста, дайте пример такого массива)

Объединение строк в строковом классе - C++
Добавить в строковый класс функцию, которая создает строку, содержащую общие символы для двух строк, перегружается оператор * ...

Сложение строк, перегрузка + в классе - C++
Есть вот класс String как мне перегрузить + что бы я мог использовать так a = "Hello"+ b; тоисть мне объекту b нужно сложить со строкой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
30
12.02.2014, 22:23
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.