|
21 / 21 / 3
Регистрация: 29.04.2010
Сообщений: 444
|
||||||
Массивы в заголовочных файлах20.03.2011, 16:58. Показов 14160. Ответов 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
|
|||||||
|
Модератор
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,864
|
|||
| 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
|
|
|
Модератор
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,864
|
||
| 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
|
||||||
|
Модератор
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,864
|
|
| 20.03.2011, 18:29 | |
|
1
|
|
|
21 / 21 / 3
Регистрация: 29.04.2010
Сообщений: 444
|
||||||
| 20.03.2011, 18:33 [ТС] | ||||||
Добавлено через 1 минуту я её сейчас в public поместил и всё равно линкер ругается
0
|
||||||
|
Модератор
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,864
|
|
| 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
|
|||||||||||
|
Модератор
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,864
|
||||
| 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
|
|||||||||||
|
Модератор
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,864
|
|||||
| 20.03.2011, 19:38 | |||||
|
функция его увидит к статическим элементам по моему просто так не обращяются или так F::arr или так this->arr
1
|
|||||
|
21 / 21 / 3
Регистрация: 29.04.2010
Сообщений: 444
|
||||||
| 20.03.2011, 19:44 [ТС] | ||||||
0
|
||||||
|
Модератор
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,864
|
||
| 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
|
||||||
|
Модератор
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,864
|
|||||||||||||
| 20.03.2011, 20:26 | |||||||||||||
|
а хрен его знает
я взял твои классы доработал как тебе советовал и все пошло F.cpp
1
|
|||||||||||||
|
21 / 21 / 3
Регистрация: 29.04.2010
Сообщений: 444
|
||||||
| 20.03.2011, 20:31 [ТС] | ||||||
Меня единственная вещь смущает. Когда это вызовется? При вызове конструктора или как? И как по поводу
0
|
||||||
|
Модератор
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,864
|
|||
| 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 | |
|
Помогаю со студенческими работами здесь
40
Определение переменных в заголовочных файлах Статические свойства структур в заголовочных файлах Расположение определения функций в заголовочных файлах Странные объявления функций в заголовочных файлах Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|