|
21 / 21 / 3
Регистрация: 29.04.2010
Сообщений: 444
|
||||||
Массивы в заголовочных файлах20.03.2011, 16:58. Показов 14579. Ответов 41
Метки нет (Все метки)
в заголовочном файле в описании класса пишу:
Error 1 error C2059: syntax error : '{' c:\users\dimarik\desktop\lalala\lal ala\file.h 15 Error 2 error C2334: unexpected token(s) preceding '{'; skipping apparent function body c:\users\dimarik\desktop\lalala\lal ala\file.h 15 Error 3 error C2059: syntax error : '{' c:\users\dimarik\desktop\lalala\lal ala\file.h 15 Error 4 error C2334: unexpected token(s) preceding '{'; skipping apparent function body c:\users\dimarik\desktop\lalala\lal ala\file.h 15 Можно ли в заголовочном файле создать массив констант?
0
|
||||||
| 20.03.2011, 16:58 | |
|
Ответы с готовыми решениями:
41
Про добавление заголовочных файлов в заголовочных файлах
|
|
21 / 21 / 3
Регистрация: 29.04.2010
Сообщений: 444
|
|||||||
| 20.03.2011, 18:10 [ТС] | |||||||
И еще. Почему мы делаем переопределение? То есть зачем внутри опять писать const int? Насколько я понимаю, при переопределении мы записываем значения в другой адрес,а не в адрес *arr (адрес, массива, определенного в заголовочном файле) Или как оно происходит?
0
|
|||||||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
|||
| 20.03.2011, 18:15 | |||
![]() сказал же зависит от задачи если у меня есть какие то константы то мне(ключевое слово МНЕ) привычней пользоваться перечислением Добавлено через 1 минуту он появится когда определится объект
1
|
|||
|
21 / 21 / 3
Регистрация: 29.04.2010
Сообщений: 444
|
|
| 20.03.2011, 18:20 [ТС] | |
|
Так каким образом это переопределение работает?
Добавлено через 1 минуту Насколько я знаю (правда не именно в этом случае, а в общем) надо где только можно стараться избегать всяческих переопределений. Например, не рекомендуется создавать поле int a1, а затем в качестве аргументов функции прописывать funct(int a1).... Это в общем... По поводу конкретно этого случая не знаю, поэтому и спрашиваю.
0
|
|
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
||
| 20.03.2011, 18:24 | ||
|
в функции будет a1=a1 и кто здесь аргумент, а кто член класса перекрытие имен однако
0
|
||
|
21 / 21 / 3
Регистрация: 29.04.2010
Сообщений: 444
|
||||||
| 20.03.2011, 18:28 [ТС] | ||||||
|
Error 1 error LNK2001: unresolved external symbol "private: static int const * const ClassFile::_const_iMas" (?_const_iMas@ClassFile@@0QBHB) C:\Users\Dimarik\Desktop\lalala\lalala\F ile.obj
Что тут еще не нравится линковщику? Компилятор хочет чтобы я прописал массив как extern что ли??? Добавлено через 2 минуты или же это могло возникнуть по причине что я в функции обращаюсь к массву через
в аргмументах функции без ключевого слова const компилятор ругался
0
|
||||||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
|
| 20.03.2011, 18:29 | |
|
1
|
|
|
21 / 21 / 3
Регистрация: 29.04.2010
Сообщений: 444
|
||||||
| 20.03.2011, 18:33 [ТС] | ||||||
Добавлено через 1 минуту я её сейчас в public поместил и всё равно линкер ругается
0
|
||||||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
|
| 20.03.2011, 18:36 | |
|
я тебе перевел что пишет линкер
смотри где не внутри класса обращаешься строку ошибки линкер по моем уже не дает Добавлено через 1 минуту а ты не пытаешься ее где то поменять
1
|
|
|
21 / 21 / 3
Регистрация: 29.04.2010
Сообщений: 444
|
|||||||||||
| 20.03.2011, 19:09 [ТС] | |||||||||||
|
F.h:
unexpended endif . Если же я не пишу эту защиту от множества включений, то: Error 2 error C2653: 'F' : is not a class or namespace name c:\users\dimarik\desktop\ляляляляля\ляля ляляля\f_.cpp 6 Error 3 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int c:\users\dimarik\desktop\ляляляляля\ляля ляляля\f_.cpp 7 Error 5 error C2653: 'F' : is not a class or namespace name c:\users\dimarik\desktop\ляляляляля\ляля ляляля\f_.cpp 10 Error 6 error C2653: 'F' : is not a class or namespace name c:\users\dimarik\desktop\ляляляляля\ляля ляляля\f_.cpp 14 Error 7 error C2065: 'arr' : undeclared identifier c:\users\dimarik\desktop\ляляляляля\ляля ляляля\f_.cpp 17
0
|
|||||||||||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
||||
| 20.03.2011, 19:16 | ||||
|
функции класса и так увидят члены Добавлено через 6 минут если да то там есть #pragma once для зашиты
1
|
||||
|
21 / 21 / 3
Регистрация: 29.04.2010
Сообщений: 444
|
|||||||||||
| 20.03.2011, 19:29 [ТС] | |||||||||||
Error 2 error C2653: 'F' : is not a class or namespace name c:\users\dimarik\desktop\someproject\som eproject\f_.cpp 5 Error 3 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int c:\users\dimarik\desktop\someproject\som eproject\f_.cpp 6 Error 5 error C2653: 'F' : is not a class or namespace name c:\users\dimarik\desktop\someproject\som eproject\f_.cpp 9 Error 6 error C2653: 'F' : is not a class or namespace name c:\users\dimarik\desktop\someproject\som eproject\f_.cpp 13 Error 7 error C2065: 'arr' : undeclared identifier c:\users\dimarik\desktop\someproject\som eproject\f_.cpp 16 Добавлено через 33 секунды зАГОЛОВОЧНЫЙ ФАЙЛ:
0
|
|||||||||||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
|||||
| 20.03.2011, 19:38 | |||||
|
функция его увидит к статическим элементам по моему просто так не обращяются или так F::arr или так this->arr
1
|
|||||
|
21 / 21 / 3
Регистрация: 29.04.2010
Сообщений: 444
|
||||||
| 20.03.2011, 19:44 [ТС] | ||||||
0
|
||||||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
||
| 20.03.2011, 19:48 | ||
|
зачем функции члену класса, ты даешь адрес члена класса??? она и так знает про его существование
0
|
||
|
21 / 21 / 3
Регистрация: 29.04.2010
Сообщений: 444
|
||||||
| 20.03.2011, 20:10 [ТС] | ||||||
|
Просто часто приходится из одной функции вызывать другую.
пЧому у меня такую бредятину пишет компилятор, что F - это не пространство имён и не класс? Добавлено через 1 минуту Если пропишу одно включение в F.cpp, то будет уже одна ошибка, но другая, совсем другая
Error 2 error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "StdAfx.h"' to your source? c:\users\dimarik\desktop\someproject\som eproject\f_.cpp 17
0
|
||||||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
|||||||||||||
| 20.03.2011, 20:26 | |||||||||||||
|
а хрен его знает
я взял твои классы доработал как тебе советовал и все пошло F.cpp
1
|
|||||||||||||
|
21 / 21 / 3
Регистрация: 29.04.2010
Сообщений: 444
|
||||||
| 20.03.2011, 20:31 [ТС] | ||||||
Меня единственная вещь смущает. Когда это вызовется? При вызове конструктора или как? И как по поводу
0
|
||||||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
|||
| 20.03.2011, 20:39 | |||
|
представь что та создашь несколько объектов и каждый раз конструктор будет инициализировать массив
1
|
|||
|
|
||||||||||||||||||||||
| 20.03.2011, 22:42 | ||||||||||||||||||||||
2
|
||||||||||||||||||||||
|
|
||||||
| 21.03.2011, 04:07 | ||||||
Сообщение было отмечено как решение
Решение
По части const членов класса - по скольку константа ДОЛЖНА быть инициализированна в момент создания, то при выполнении тела конструктора, она должна быть УЖЕ инициализированна.
Поэтому const члены класса инициализируются в списке инициализирующих значений конструктора:
3
|
||||||
| 21.03.2011, 04:07 | |
|
Определение переменных в заголовочных файлах Статические свойства структур в заголовочных файлах Расположение определения функций в заголовочных файлах Странные объявления функций в заголовочных файлах Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|