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

Массив в заголовке класса

08.10.2022, 13:45. Показов 2045. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Хотел я тут недавно создать массив в заголовочном файле класса таким образом:
C++
1
2
    const int size = 10;
    int arr[size];
Но если в мэйне всё работает, то почему-то в заголовке выдаёт ошибку "нестатическая ссылка не член должна указываться относительно заданного объекта". При этом если просто написать
C++
1
int arr[10];
, то всё работает. Я вышел из положения, создав в конструкторе динамический массив размера size. Но мне интересно, почему нельзя создать массив в заголовке таким способом и почему появляется эта ошибка?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.10.2022, 13:45
Ответы с готовыми решениями:

Зачем нужно опережающее объявление класса в заголовке?
Часто натыкаюсь на такой код: class NewType; class Class1 { public: Class1(); private: NewType *field; };

Unresolved external и использование класса находящегося в заголовке
Есть объявление класса библиотеки FTGL - CFont (line 37), и использование его в функции RenderScene (line 75) и это приводит к Unresolved...

После Протокол, используемое в заголовке IPv4 отсутствует в фиксированном заголовке IPv6. Почему ?
После Протокол, используемое в заголовке IPv4 отсутствует в фиксированном заголовке IPv6. Почему ?

21
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
10.10.2022, 09:12
Студворк — интернет-сервис помощи студентам
ram876, есть единицы случаев когда ее использование не является исправлением каких-то изъянов архитектуры кода. Поэтому обычно ее использование обходится стороной просто грамотным проектированием.
2
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
10.10.2022, 16:20
Цитата Сообщение от DrOffset Посмотреть сообщение
есть единицы случаев когда ее использование не является исправлением каких-то изъянов архитектуры кода
я знаю только один такой случай:
когда логика константного метода полностью совпадает с неконстантным методом,
то что бы не дублировать код, не_константный метод делегирует всю работу константному:

C++
1
2
3
4
5
6
7
const sample& getValue() const;
 
sample& getValue()
{
    const sample& me = *this;
    return const_cast<sample&>(me.getValue());
}
а какие ещё могут быть случаи, когда const_cast не связан с деффектом архитектуры?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.10.2022, 16:20

В заголовке функции описать параметр - двумерный массив строк
Как в заголовке функции описать параметр - двумерный массив строк постоянной длины. Описать переменную через variant в данном случае не...

Массив объектов одного класса как поле другого класса
Доброе время суток. Мне тут в универе задали лабу, нужно создать класс полем которого будет массив объектов класса из предыдущей лабы и в...

Как переместить из стека одного класса в массив другого класса?
// HW_on.24.11_classStack_SantaClaus.cpp: определяет точку входа для консольного приложения. // #include &quot;stdafx.h&quot; ...

Как правильно создать массив объектов текущего класса в методе данного класса?
Привет! Ставится задача создания метода, который формирует массив объектов. Правильно ли делать этот метод внутри класса, экземпляром...

Поместить в динамически расширяемый массив объекты класса, производные от базового абстрактного класса
Помогите пожалуйста новичку! (мне). Я хочу создать динамически расширяющийся массив указателей на базовый абстрактный класс,...


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

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru