![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
![]() |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Стандарт действительно поддерживается не полностью, но namespace точно есть.
-------------------- ... |
|||
|
||||
sol78 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 366 Регистрация: 7.7.2007 Репутация: 1 Всего: 0 |
прошу вас по делу, господа, почему код не компилится?
|
|||
|
||||
vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
извиняюсь что неточно выразился, ничего в std неймспейс не обернуто, т.е при подключениии iostream не надо using делать.
|
|||
|
||||
Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 41 Всего: 154 |
код скачал - так и есть, написано это в хэдэре, весь код смотреть не стал, так как там куча каких-то диких макросов, нечитабельно, по крайней мере за разумное время ![]() |
|||
|
||||
Fazil6 |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 35 Всего: 60 |
1. Убрать из хедера using . Ошибка не от этого, но по любому это очень плохо и дальше вылезет.
2. Вообще-то имена, которые начинаются с подчеркивания по стандарту очень сильно нерекомендуются. А еслри это еще к тому же макрос
то пеняй на себя. Короче в X.h определен такой макрос и поэтому имеешь, то что имеешь |
|||
|
||||
Ln78 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 25.11.2006 Репутация: 13 Всего: 15 |
sol78, во вложении несколько подкорректированный код, который компилируется под 6-ю студию.
Присоединённый файл ( Кол-во скачиваний: 8 ) ![]() |
|||
|
||||
just_geek |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 13.12.2007 Репутация: 2 Всего: 10 |
Не исправляли, стандарт более менее вменяемо стал поддерживатся только в 7.1, Стандарт был принят в 98 году, и визуал вышел в 98 году, только на полгода раньше чем стандарт. |
|||
|
||||
sol78 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 366 Регистрация: 7.7.2007 Репутация: 1 Всего: 0 |
Ln78, он не компелируется!!!!!!!!!
Помогите!!!!!!!!!!!!!!!!! ![]() Добавлено через 5 минут и 2 секунды Все теже 4 ошибки: Compiling... X.CPP d:\microsoft visual studio\vc98\include\iosfwd(145) : error C2143: syntax error : missing ';' before '=' d:\microsoft visual studio\vc98\include\iosfwd(147) : error C2059: syntax error : '==' d:\microsoft visual studio\vc98\include\iosfwd(149) : error C2059: syntax error : '<' d:\microsoft visual studio\vc98\include\iosfwd(169) : error C2059: syntax error : '==' Error executing cl.exe. |
|||
|
||||
Ln78 |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 25.11.2006 Репутация: 13 Всего: 15 |
Как не компилируется? У меня всё скомпилировалось: я и перед тем, как поместить сюда проверил, сейчас скачал именно этот архив ещё раз и проверил, всё без ошибок и замечаний. Проверял на 6-й студии, т.е. использовал RTOC.dsw и RTOC.dsp. Вы "Rebuild All" делать пробовали? Указанные ошибки были когда в X.h было:
После замены на
у меня ошибки пропали. Попробуйте вместо _CLASS_X написать что-нибудь подлиннее и уникальнее |
||||
|
|||||
dizzy1984 |
|
||||||||||||||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 675 Регистрация: 15.2.2007 Репутация: 3 Всего: 25 |
Вот код из замечательного файла iosfwd
Он включается в rtoc.h посредством строки
В свою очередь, rtoc.h, не будучи глупым хидером, включается в x.h, включенный в начале файла x.cpp
Интересный момент заключается здесь в препроцессорной директиве, расположенной в начале файла x.h. Это
Теперь переведем свой взор на код в начале этого поста. Что же будет с этим кодом если он попадет под действие макроса #define _X? Давайте проверим. Компилируем файл x.cpp с включенной директивой /P (генерация исходного текста после препроцессора). Посмотрите только как упростилась наша шаблонная специализация!
Теперь можно осмыслить сказанное компилятором предложение
Хотя раньше, показанное на неизуродованном теле iosfwd, оно могло вызывать лишь удивление. Мораль заключается в том, что короткие имена макросов в плане разрушительности можно сравнить с ОМП и пользоваться ими, пожалуй, не стоит вовсе. Немного еще по теме... Посты vinter,а меня озадачили
и
На сколько я знаяю, существует 2 стандарта c++ - 98 и 2003 годов. А 98 студия была доделана в 97-году, но по коммерческим причинам поступила в продажи в 98-м. Так что стандарту она не соответствует, но довольно близка к нему и несомненно там есть и iostream и string и чего только нет. Подозреваю, что ей пользуются до сих пор и довольно успешно...
Снова AFAIK в случе отсутствия объявления какого-то namespace, using namespace <имя> просто не даст никакого эффекта, т.е будет безвредна. Ну и теперь призы. Первый приз выигрывает Fazil6, он даже без кода угадал проблему. Второй приз идет Ln78, он исправил текст. Дай угадаю - ты компилируешь свой неисправленный вариант? Кстати,
у меня вопрос. Под именами что подразумевается? Так, ну я бы еще пописал, но чуствую что наверно хватит. |
||||||||||||||||||||
|
|||||||||||||||||||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |