Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705

Необъявленые переменные в C++- неужели такое возможно?

10.06.2011, 23:07. Показов 1309. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
template <class T>
class bithree {
 public:
     void pomechenie() {per= 8;};
};
 
int main() {
// bithree<int> s;
}
MSVC-ий компилятор на per= 8 не ругается; (пока не закомментишь template <class T>). Что такое?
(g++ как всегда дисциплинирован в этом смысле)

Добавлено через 57 секунд
Думал, чем чёрт не шутит, может MSVC при создании объекта ругнётся, так нет же.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.06.2011, 23:07
Ответы с готовыми решениями:

Как передавать текстовые переменные из VB??? Неужели никто не знает?
Задача: передать хр. процедуре параметр типа nvarchar. В VB как ни стараюсь - все равно либо 'method _Value of object 'Parameter' has...

Что такое переменные?
потскажите пожалуста

Что такое переменные?
1.Определение переменных в С. 2.Определение констант. 3.Инициализация переменных.

10
Эксперт С++
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
10.06.2011, 23:12
Это пока не переменная.
Шаблон - это еще не класс. Это только "выкройка" класса. Вот при инстанцировании - огребете по полной...
1
274 / 175 / 12
Регистрация: 14.03.2010
Сообщений: 501
10.06.2011, 23:30
Шаблон — это текст, который до инстанцирования не является классом или функцией. Возможно, MSVC, в отличие от gcc, вообще не трогает шаблоны, пока те явно не использованы где-то в программе.
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
10.06.2011, 23:30  [ТС]
C++
1
2
3
4
5
6
7
8
9
template <class T>
class bithree {
 public:
     void pomechenie() {per= 8;};
};
 
int main() {
 bithree<int> s;
}
Создаю объект шаблонного класса, где определяется функция и переменная
непонятно какого типа. Не ругается.
0
274 / 175 / 12
Регистрация: 14.03.2010
Сообщений: 501
10.06.2011, 23:31
Ой, опоздал.

Добавлено через 52 секунды
kravam, а вызови функцию "pomechenie()" в мейне.
0
Эксперт С++
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
10.06.2011, 23:37
Цитата Сообщение от kravam Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
template <class T>
class bithree {
 public:
     void pomechenie() {per= 8;};
};
 
int main() {
 bithree<int> s;
}
Создаю объект шаблонного класса, где определяется функция и переменная
непонятно какого типа. Не ругается.
Вы не вызываете метод. Значит он - не инстанцирован. Нет его!
А вот здесь - есть:
C++
1
2
bithree<int> s; 
s.pomechenie();
Тут же получаем по сусалам!
C++
1
2
3
4
5
6
7
8
9
10
11
c:\documents and settings\vv\рабочий стол\викино кубло\12345\1\1.cpp(10) : error C2065: 'per' : undeclared identifier
1>        c:\documents and settings\vv\рабочий стол\викино кубло\12345\1\1.cpp(10) : while compiling class template member function 'void bithree<T>::pomechenie(void)'
1>        with
1>        [
1>            T=int
1>        ]
1>        c:\documents and settings\vv\рабочий стол\викино кубло\12345\1\1.cpp(16) : see reference to class template instantiation 'bithree<T>' being compiled
1>        with
1>        [
1>            T=int
1>        ]
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
11.06.2011, 00:04  [ТС]
Странно всё это.
C++
1
2
3
4
5
void f () {
 per= 89;
}
 
int main () {}
Тоже вроде ничё не вызывается, а MSVC всё равно ругается. Избирательный подход к функциям!
0
Эксперт С++
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
11.06.2011, 00:07
Нет. В последнем примере - не шаблон, а функция вполне конкретная.
Медитируйте над шаблонами.
0
 Аватар для OstapBender
594 / 532 / 76
Регистрация: 22.03.2011
Сообщений: 1,585
11.06.2011, 00:08
хреново знаю шаблоны, но по-моему они как макросы. то есть не проверяются (по крайней мере в полной степени) до подстановки в них данных
по мере надобности создается компилятором необходимая версия функции (класса) шаблона, и выполняются подстановки (как макросов) переменных
0
Эксперт С++
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
11.06.2011, 00:14
OstapBender, макросы-то макросы... Только не простые, а синтаксические...
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
11.06.2011, 17:52  [ТС]
Цитата Сообщение от ValeryLaptev Посмотреть сообщение
Нет. В последнем примере - не шаблон, а функция вполне конкретная.
Медитируйте над шаблонами.
А чё над ними медитировать?
Синтаксис какой Бог на душу положит. Тем и живём.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.06.2011, 17:52
Помогаю со студенческими работами здесь

что такое мертвые переменные?
в яндексе не нашел чето..

Что такое Ссылочные переменные
Подскажите пожалуйста что такое ссылочные переменные в Java, ну или поделитесь ссылками или книгами где есть подробная информация по этому...

Возможно ли такое
Добрый день уважаемые программисты. В универе препод дал такую задачу. Нужно сделать что-то по типу api приложения. Есть два проекта...

А такое возможно?
Можно ли сделать так что бы на веб странице менялись изображение и текст?

Возможно ли такое
...и туда ли я вообще написал)) Всем привет. Неделю усиленно лопачу форум и в тырнетах, голова кипит пипец, простите за криворукость...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru