Форум программистов, компьютерный форум, киберфорум
Наши страницы

Создание темплейта - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ помогите переделать под функции две программы http://www.cyberforum.ru/cpp-beginners/thread518291.html
пожалуйста, помогите #include <iostream> int _tmain(int argc, _TCHAR* argv) { int matrix ; for (int i = 0; i < 8; i++) { for (int j = 0; j < 8; j++) ...
C++ Правильный код но бьет ошибку билдера Переписать в массив В все элементы матрицы А, больше значения х. Если в строке таких нет, записать в массив В значение 0. Код правильный. Но каждый раз как запускаю , в вожу х, n, m мне выдает... http://www.cyberforum.ru/cpp-beginners/thread518288.html
Error 1 error C2664: 'CharToOemW' : cannot convert parameter 1 from 'const char *' to 'LPCWSTR' C++
выдает вот такую ошибку - Error 1 error C2664: 'CharToOemW' : cannot convert parameter 1 from 'const char *' to 'LPCWSTR' использую visual 2010 ultimate #include "stdafx.h" #include <iostream> ...
Код написан в Dev C. Не работает в Visual. Как нужно переделать код? C++
Здравствуйте. Столкнулась с такой проблемой: код был написан в Dev C, но в Visual он выдаёт ошибку. 1>c:\users\admin\documents\visual studio 2010\projects\kursovaya\kursovaya\kursach.cpp(51):...
C++ Списки+файлы http://www.cyberforum.ru/cpp-beginners/thread518249.html
Помогите с такой задачей: дан файл в нем есть 2 строки непустые в 1 и 2 строке содержатся числа отсортированные по неубыванию. Нужно с использованием 3 списков (неважно каких то есть они могут быть...
C++ Потокобезопасен ли префиксный инкремент/декремент? Потокобезопасен ли префиксный инкремент/декремент? Например такой код: // Объявляем глобальную переменную uint64_t i=0; // Тут множество потоков thread: thread { while(1) { //... подробнее

Показать сообщение отдельно
vamfirius
1 / 1 / 0
Регистрация: 16.06.2010
Сообщений: 13

Создание темплейта - C++

13.03.2012, 22:57. Просмотров 1479. Ответов 11
Метки (Все метки)

Всем доброго вечера.
Изучаю C++ первый день по книге Страуструпа Special Edition 2011 г.

Проблема возникла на разделе 3.7.1 Контейнер vector

Автором предлагается создание темплейта Vec который выбрасывает эксепшн когда индекс выходит за пределы допустимого диапазона.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <vector>
using namespace std;
 
template <class T> class Vec: public vector <T>{
public:
    Vec():vector<T>(){}
    Vec(int s):vector<T>(s){}
    T& operator[](int i) {return at(i);}
    const T& operator[](int i) {return at(i);}
};
 
int main() {
    return 0;
}
Этот код выводит следующие ошибки -


hello.cpp:19:11: ошибка: «const T& Vec<T>::operator[](int)» cannot be overloaded
hello.cpp:18:5: ошибка: with «T& Vec<T>::operator[](int)»
hello.cpp: В функции-члене «T& Vec<T>::operator[](int)»:
hello.cpp:18:35: ошибка: «at» не имеет аргументов, зависящих от параметра-шаблона, поэтому должна быть доступна декларация «at» [-fpermissive]
hello.cpp:18:35: замечание: (с ключом «-fpermissive», G++ примет данный код, но разрешение использовать недекларированные имена будет отменено в дальнейших версиях)
hello.cpp: В функции-члене «const T& Vec<T>::operator[](int)»:
hello.cpp:19:41: ошибка: «at» не имеет аргументов, зависящих от параметра-шаблона, поэтому должна быть доступна декларация «at» [-fpermissive]
make: *** [hello.o] Error 1

Работаю на Eclipce Helios CDT(Большая просьба не советовать использовать "Нормальную IDE", я достаточно долгое время работал с php и привык к этой)

Компилятор MinGW

Собственно мой совершенно нубский вопрос заключается в стандартном - почему не работаит)
Дело в том что темплейты обсуждаются значительно дальше в книге а данный код автор использует для всех примеров.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru