Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2013, 11:34   #1
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию deque. Ошибка при объявлении итератора

Привет всем!

Компилятор указывает на строку:
Код:
deque<Summable>::iterator p;
И пишет, что:

Цитата:
error: need 'typename' before 'std::deque<Summable>::iterator' because 'std::deque<Summable>' is a dependent scope
Среда NetBeans

Код:
#include <iostream>
#include <deque>
using namespace std;

// A tipical container algorithm
template <class Summable>
Summable sum(deque<Summable> &dq)
{
    deque<Summable>::iterator p;
    Summable s = 0;
    
    return s;
}

int main(int argc, char** argv) 
{

    return 0;
}
Заранее спасибо

Иван
8Observer8 вне форума Ответить с цитированием
Старый 25.01.2013, 15:42   #2
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

28Observer8
Цитата:
error: need 'typename' before 'std:eque<Summable>::iterator' because 'std:eque<Summable>' is a dependent scope
тебе же русским языком говорят

Код:
typename deque<Summable>::iterator p;
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 25.01.2013, 16:43   #3
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

Спасибо!

Ага) Думал, что под 'typename' подразумевается 'Summable'. В голову не пришло, что 'typename' надо написать

В книжке "Programming - C++ - C++ by dissection -- Standard template library (STL) A tutorial.pdf" написано без 'typename'. Ошибочка, видимо
8Observer8 вне форума Ответить с цитированием
Старый 25.01.2013, 21:33   #4
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Тааа это обычная компилятор-раздолбайство.

Гцц обычно всегда все надо. Он у нас типа строгий. Усе типа как положено!
В студии не то, что бы на стандарт наложено... просто она умная, и очень хорошо понимает желания программиста.

Не требует лишних глупых телодвижений.
_Bers вне форума Ответить с цитированием
Старый 25.01.2013, 22:11   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

_Bers, мы итак уже поняли что ты любишь студию, ток может хватит орать об этом на каждом шагу?
Цитата:
В книжке "Programming - C++ - C++ by dissection -- Standard template library (STL) A tutorial.pdf" написано без 'typename'. Ошибочка, видимо
раньше помоему не требовалось.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 25.01.2013, 23:06   #6
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
_Bers, мы итак уже поняли что ты любишь студию, ток может хватит орать об этом на каждом шагу?раньше помоему не требовалось.
Сие по теме. Не веришь - компиль пример из книги в студии.
Отрокам на ус - есть стандарт, и есть студия. Дабы не растерялись из-за километровых ошибок, что сопутствуют шаблончикам, как мухи навозу.

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

Как сделать: если некоторый дефайн (или какая то херь в ключе компиля)
вкл - включить в сборку такие то файлы cpp.

Хз как это делать в студии....
_Bers вне форума Ответить с цитированием
Старый 25.01.2013, 23:10   #7
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от pproger Посмотреть сообщение
тебе же русским языком говорят
А он по-русски читать не умеет .
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 25.01.2013 в 23:12.
Smitt&Wesson вне форума Ответить с цитированием
Старый 25.01.2013, 23:30   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Как сделать: если некоторый дефайн (или какая то херь в ключе компиля)
вкл - включить в сборку такие то файлы cpp.
я бы лучше выделил это в инклюдник(.inc) который уже будет подключаться в cpp.
например:
FileStream.cpp->WinFileStream.inc или UnixFileStream.inc

Цитата:
Сие по теме. Не веришь - компиль пример из книги в студии.
ну тогда чистая вина ТС, если книга по студии то и работай в студии.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 25.01.2013, 23:49   #9
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
ну тогда чистая вина ТС, если книга по студии то и работай в студии.
Не написано, чем компилировать. Можете посмотреть. Я прикрепил

Это книгой трудно назвать. Там 51 страница.

_Bers, то что в студии прокатывает - это очень полезная для меня инфа. Плюсанул. Спасибо!
8Observer8 вне форума Ответить с цитированием
Старый 26.01.2013, 00:31   #10
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от 8Observer8 Посмотреть сообщение
Не написано, чем компилировать. Можете посмотреть. Я прикрепил
Студия - стандарт дефолто.
_Bers вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при объявлении переменных mishev Общие вопросы C/C++ 20 23.08.2012 20:19
Ошибка при объявлении массива(Ordinal type expected). Leshii Паскаль, Turbo Pascal, PascalABC.NET 12 31.07.2012 21:03
Ошибка при объявлении файла записей bogdanidze Помощь студентам 2 13.05.2011 08:26
deque Niksan Visual C++ 0 27.04.2011 21:44
Ошибка в объявлении переменных Superlotles Помощь студентам 1 17.12.2009 17:05