![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
sol78 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 366 Регистрация: 7.7.2007 Репутация: 1 Всего: 0 |
сколько времени работаю в MS 6 ни как не могу понять как и почему нужно использовать
стандартные библиотеки, а именно их вклучения Вот наример: Я хочу использовать и библиотеку string & iostream я пишу так:
вылетает на компиляции RTOC.CPP 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 : '==' откуда этот include \ iosfwd - я его не делала, интересное дело отлично компелириется в MS 2005 Что делать? И так вооще в этом разобраться??? |
|||
|
||||
vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
namespace
правда в 6 вижуале не поддерживается стандарт и нет namespace'ов |
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
-------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
sol78 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 366 Регистрация: 7.7.2007 Репутация: 1 Всего: 0 |
извините за опечатку д/б
вопрос остался! Добавлено через 2 минуты и 7 секунд vinter, так я в визуале 6 и работаю, как быть? |
|||
|
||||
vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
меняй компилятор ![]()
как там обозвали string я не знаю |
|||
|
||||
sol78 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 366 Регистрация: 7.7.2007 Репутация: 1 Всего: 0 |
не помогло, колличество ошибок увеличелось в 2 раза(((
Хелп! кто то еще пишет в MVS 6???? |
|||
|
||||
d06osipov |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 1.11.2006 Репутация: нет Всего: нет |
Приведи код который до #include <iostream> в X.CPP. Из-за него могут быть какие угодно ошибки во вклбючаемых файлах.
|
|||
|
||||
sol78 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 366 Регистрация: 7.7.2007 Репутация: 1 Всего: 0 |
d06osipov, незнаю поможет ли
|
|||
|
||||
vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
#include <iostream.h>
|
|||
|
||||
sol78 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 366 Регистрация: 7.7.2007 Репутация: 1 Всего: 0 |
vinter, не пологло колличество ошибок увеличелось до 57
![]() |
|||
|
||||
bronislav |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 334 Регистрация: 29.1.2008 Где: Украина::Донецк Репутация: нет Всего: 3 |
А весь код выложить слабо?
Только атачем пожалуйста. -------------------- ![]() иногда проще и быстрей обойти лужу, даже если кажется что она мелкая и путь напрямик короче - ведь она может скрывать открытый люк (с) mes |
|||
|
||||
Ln78 |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 25.11.2006 Репутация: 13 Всего: 15 |
sol78,
сейчас в один из файлов в проекте для VS6 включил
без всяких дополнительных расширений, для верности дописав в одной из функций
оттранслировалось без единого замечания. Вероятно, причина в чём-то другом, возможно, в #include "Registration.h" Это сообщение отредактировал(а) Ln78 - 11.5.2008, 13:33 |
||||
|
|||||
bronislav |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 334 Регистрация: 29.1.2008 Где: Украина::Донецк Репутация: нет Всего: 3 |
Ну тогда выложи этот файл. В нем могут быть ошибки или не правильно настроенные зависимости в MS VC6 -------------------- ![]() иногда проще и быстрей обойти лужу, даже если кажется что она мелкая и путь напрямик короче - ведь она может скрывать открытый люк (с) mes |
|||
|
||||
sol78 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 366 Регистрация: 7.7.2007 Репутация: 1 Всего: 0 |
ок выкладываю все, т.к. потеряла всякую надежду(((
Присоединённый файл ( Кол-во скачиваний: 19 ) ![]() |
|||
|
||||
Fazil6 |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 35 Всего: 60 |
чивоооо??? код я не скачивал и не смотрел но есть подозрение, что это
написано в хедере, что является источником вот таких ошибок. По коду всегда должно быть так, что после using namespace не должно быть никаких инклудов так как он будет и на код этих инклудов влиять. Вообще что за мода юзать using namespace ? Неужели так сложно набрать std:: ? Это сообщение отредактировал(а) Fazil6 - 11.5.2008, 21:40 |
|||
|
||||
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 |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |