Форум программистов, компьютерный форум CyberForum.ru

[Решено][C++] Как тут можно "схитрить" и скомпилировать такой код? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Член-функция класса не работает http://www.cyberforum.ru/cpp-beginners/thread76404.html
Доброго вечера! Только что написал вот такой несложный класс, который определяет две характеристики предмета (вес и стоимость). Обнаружилась проблема, которая заключается в том, что при вводе этих характеристик посрдством член-функии ввода input, они, эти самые характристики как бы не запоминаются. Обнаружил это потому что пытался вывести их, но выводится бред. Может что-то с конструктором не...
C++ Числа Фибоначчи 1ое задание: Числа Фибоначчи определяются формулами f0 =f1 = 1; fn = fn-1 + fn-2 при n =2,3,… Определить 40-е число Фибоначчи, найти первое число Фибоначчи, большее m (m>2). 2ое задание: Даны действительные числа a, b, c. Получить (max(a, a + b) + max(a, b + c))/ (1 + max(a + bc, 1.15)). http://www.cyberforum.ru/cpp-beginners/thread76399.html
C++ как подключить файл?
начал работу с файлами на языке Си, но не могу понять, как подключить файл, чтобы программа работала, где его надо создавать, какого типа он (блокнот, word).
C++ C/C++ на смортфоне
есть интерпритатор языка С/С++ на ОС Symbian 9? (вместе с компилятором). Если кто-нибудь знает нечто подобное - сообщите пожалуйста, где достать.
C++ Строки/Символы на С http://www.cyberforum.ru/cpp-beginners/thread76369.html
Ребят, помогите. Уже 2 день пытаюсь сделать, никак. (Только С) Ввести строку, ввести набор символов. Если такая последовательность есть в строке заменить ее на символ $ , если нет выдать сообщение нет повторений.
C++ Объктно-ориентированное программирование. С++ здравствуйте уважаемые программисты :) в универе задали решить задачки, если будет не трудно, помогите пожалуйста :) задачи: 1. Даны два двумерных массива целых чисел с размерами (4х5) эле¬ментов. Подсчитать количество отрицательных элементов в каждом из них. 2. Создайте класс HugeInteger, который использует массив из 40 элементов для хранения целых чисел вплоть до больших целых,... подробнее

Показать сообщение отдельно
#pragma
Временно недоступен
952 / 223 / 6
Регистрация: 12.04.2009
Сообщений: 921

[Решено][C++] Как тут можно "схитрить" и скомпилировать такой код? - C++

18.12.2009, 23:08. Просмотров 659. Ответов 4
Метки (Все метки)

Вкратце - в разных векторах,содержащих разные классы,нужно найти строку (функции возврата строки в этих классах одинаковы).
Чтобы не делать 10 перегруженных функций,попробовал сделать шаблон.Код ниже.Но это не проходит компиляцию.Как можно всё-таки схитрить и сделать такой шаблон? Спрашивал в англоязычных чатах,мне намекнули на этот способ http://codepad.org/ecnvop82 но,честно говоря,я не понял,как применительно к этому конкретному случаю его использовать. Компетентные в С++ люди,подскажите?
C++
1
2
3
4
5
6
7
8
  template <typename T> size3 
  findStrInVector (const string str,std::vector< T *> &vec)
  {
     for (std::vector< T *>::iterator i = vec.begin(); i < vec.end();  ++i )
        if ((*i)->GetStr()  == str)
           return i-vec.begin();
     return -1;
  }
Добавлено через 11 минут
Немного помучавшись,у меня получилось! Вот,если кто-то столкнётся с такой проблемой,нужно просто поменять таким образом:
C++
1
2
3
4
5
6
7
8
  template <typename T> size3
  findStrInVector (const string str,std::vector< T *> &vec)
  {
     for (typename std::vector<T>::iterator i = vec.begin(); i < vec.end();  ++i )
        if ((*i)->GetStr()  == str)
           return i-vec.begin();
     return -1;
  }
Т.е. просто добавить слово typename перед объявлением итератора.Объяснение,почему так,я,правда,не очень понял.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru