Поиск:

Ответ в темуСоздание новой темы Создание опроса
> компилится в VS 2005 но не в VC 6 
:(
    Опции темы
BSOD
Дата 6.7.2006, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 405
Регистрация: 1.11.2004
Где: Гомель

Репутация: нет
Всего: 3



Почему вот это (код безсмысленный но не работает):

Код

#include <fstream>
#include <iterator>
#include <vector>

using namespace std;

int main()
{
    vector<int> my_v;
    back_insert_iterator<vector<int>> ins(my_v);
    ifstream from("input.txt");
    ofstream to("output.txt");
    int a;
    while (from >> a) { *ins=a; ins++; };
    for (vector<int>::iterator ins = my_v.begin(); ins != my_v.end(); ins++)
    {
        to << *ins;
    };
    return 0;
};


прекрасно работает в VS 2005, а в VC 6 на десятой строчке начинает:
Цитата

D:\tc++\name\name.cpp(10) : error C2146: syntax error : missing ',' before identifier 'ins'

ну и дальше 
Цитата

D:\tc++\name\name.cpp(10) : error C2065: 'ins' : undeclared identifier
D:\tc++\name\name.cpp(10) : error C2143: syntax error : missing '>' before ';'
D:\tc++\name\name.cpp(14) : error C2100: illegal indirection
Error executing cl.exe.

name.obj - 4 error(s), 0 warning(s)


почему? где можно почитать про похожие различия? 


--------------------
как корабль назовешь - то на нем и напишешь
PM MAIL WWW ICQ   Вверх
Coocky
Дата 6.7.2006, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: 25
Всего: 62



Это из-за пространства имен.
Точно не помню, ну лучше к Си_шникам в радел зайти (С++). Там описывается, как надо использовать. 


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
Earnest
Дата 7.7.2006, 06:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Между > и > должен быть пробел:
Код

back_insert_iterator<vector<int> > ins(my_v);

Странно, что 2005 это компилирует. Хотя, возможно, там подкрутили компилятор на предмет "наибольшей" лексемы... 


--------------------
...
PM   Вверх
Любитель
Дата 7.7.2006, 09:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 7
Всего: 92



По планируему будущему стандарту, >> олжен быть тем, чем по логике должен быть в текущем контексте (оператором или границей параметров  двофног шаблона). Вппполне возможно, что MS уже вополтоили это у себя. 


--------------------
PM MAIL ICQ Skype   Вверх
BSOD
Дата 8.7.2006, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 405
Регистрация: 1.11.2004
Где: Гомель

Репутация: нет
Всего: 3



Пасиба, действительно там ошибка, сам бы не нашел  smile  


--------------------
как корабль назовешь - то на нем и напишешь
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0845 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.