Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 12.02.2014
Сообщений: 16

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

12.02.2014, 21:31. Показов 3223. Ответов 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
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.02.2014, 21:31
Ответы с готовыми решениями:

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

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

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

38
 Аватар для Aloir
225 / 225 / 38
Регистрация: 17.12.2010
Сообщений: 713
12.02.2014, 22:11
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от programina Посмотреть сообщение

Не по теме:


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

Не по теме:

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

0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
12.02.2014, 22:12
А ТС упорно не отвечает на вопрос:
Цитата Сообщение от alsav22 Посмотреть сообщение
Откуда файл взялся, с тем же именем поля, но не вектора строк?
Приведённые ошибки (в первом посте) были по коду в первом посте, а не по последнему.
0
 Аватар для programina
2062 / 619 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
12.02.2014, 22:12
Цитата Сообщение от alsav22 Посмотреть сообщение
В выложенном коде нет ошибок.
Тогда подождем остальные части кода )
0
DU
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
12.02.2014, 22:15
проблема может быть в
#include "resourse.h"
что это за файл? может компилятор видит не тот файл, который ожидает автор.
например в некоторых типах проектов студия сама генерит файл с таким именем. может ее
от этого клинит. или банально правится файл в другом месте, а студия смотрит на старый.
0
 Аватар для programina
2062 / 619 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
12.02.2014, 22:17
Цитата Сообщение от Aloir Посмотреть сообщение
заполнения вектора идет в методе класса, где этот вектор является членом этого класса, нам не важен спецификатор доступа, вообще в данном случае они не важны
Не важно откуда этот вектор, важно то, что сам метод приватный и поэтому его нельзя вызывать.
0
12.02.2014, 22:19

Не по теме:

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

0
12.02.2014, 22:19

Не по теме:

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


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

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

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

Не по теме:

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

1
12.02.2014, 22:23

Не по теме:

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

0
12.02.2014, 22:23

Не по теме:

Цитата Сообщение от programina Посмотреть сообщение
Конструктор пустой. Я больше ничего кроме пустого конструктора не вижу.
А я, вообще, ничего не вижу, а главное ничего не слышу от ТС. :) Пора, наверное, от темы отписываться...

0
DU
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
12.02.2014, 22:24
автор, выделите в своем cpp файле строчку
#include "resourse.h"
нажмите правой мышкой и далее Open document (первый к меню).
внимательно посмотрите на файл, в который вас студия перебросит.
в том инклуде в классе resource есть вектор или по прежнему int?
1
 Аватар для Aloir
225 / 225 / 38
Регистрация: 17.12.2010
Сообщений: 713
12.02.2014, 22:29
Цитата Сообщение от DU Посмотреть сообщение
автор, выделите в своем cpp файле строчку
#include "resourse.h"
нажмите правой мышкой и далее Open document (первый к меню).
внимательно посмотрите на файл, в который вас студия перебросит.
в том инклуде в классе resource есть вектор или по прежнему int?
+1

новый класс называется resourse2, если он создавался project/add class то файлы будут называться resourse2.h/.cpp

может include resourse2.h ?
0
0 / 0 / 0
Регистрация: 12.02.2014
Сообщений: 16
12.02.2014, 22:42  [ТС]
resourse2 потому что это был второй вариант класса. С этим проблем нет.
А файл .cpp и .h создавал сам и прописывал сам.
Конструктор пустой, т.к. решил построить и посмотреть буду ошибки или нет. После этого попросил помощи
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
12.02.2014, 22:54
И? Что тут можно понять? Проект выкладывайте.
0
 Аватар для Aloir
225 / 225 / 38
Регистрация: 17.12.2010
Сообщений: 713
12.02.2014, 22:54
ладно, пойдем от обратного вот рабочий проект
Вложения
Тип файла: rar cyberforum_resource.rar (380.6 Кб, 4 просмотров)
0
DU
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
12.02.2014, 22:58
собирается без ошибок.
0
 Аватар для programina
2062 / 619 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
12.02.2014, 23:14
eter4eter, вы не пробовали запускать проект, выложенный в 36-м сообщении Aloir'ом?
0
Ch1
06.11.2014, 00:14
Надеюсь немного пролить свет на эту ошибку. Сам промучался и в итоге получилось:
C++
1
2
3
vector <string> questions;
questions.push_back("asd\n");
cout << questions[0];
У меня компилятор ругался при вот таком объявлении
C++
1
vector <string> questions();
Хотя, до этого веря интернету, всё должно было работать и я вбивал именно так.
Еще странные вещи происходили когда варьировал с наличием пробелов в объявлении вектора. Первое объявление в этом посте изначально не хотело компилироваться с ошибкой "error C2228: выражение слева от ".push_back" должно представлять класс, структуру или объединение". Когда удалил пробелы:
C++
1
vector<string>questions;
Все завелось. Потом вернул обратно - опять завелось. Что это было - так и не понял. Понял, что надо экспериментировать)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.11.2014, 00:14

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

Добавление элементов вектора в классе
Скажем так код отсебятина, сейчас изучаю по немногу программирование, в уроках была задачка более простого типа, мне же захотелось сделать...

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

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

Оператор >> в классе вектора
Доброго дня, уважаемые форумчане. Описываю класс - вектор. Подскажите пожалуйста, как добиться того чтобы оператор &quot;&gt;&gt;&quot;...


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

Или воспользуйтесь поиском по форуму:
39
Ответ Создать тему
Новые блоги и статьи
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу))) Критические ошибки, мешающие компиляции и. . .
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата) Этот документ предназначен для того, чтобы новый чат Claude мог продолжить работу без необходимости заново разбираться в. . .
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса Калибровка параметров симбиотической модели: технический обзор Содержание: Введение Постановка проблемы Технические аспекты реализации Процесс внедрения изменений
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0» https:/ / ibb. co/ NnkGpfMd Представленная интегрированная схема описывает непрерывную нелинейную. . .
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы ### Аннотация Представлено исследование по разработке агентной модели микоризной. . .
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики Контекст Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии Введение Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np class PlantAgent: def __init__(self, name, strategy, initial_biomass): self. name = name self. strategy = strategy # "greedy" (широколиственные) или. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru