little_greg Опубликовано 19 октября, 2010 Жалоба Поделиться Опубликовано 19 октября, 2010 Объясните, пож, почему возникают ошибки и помогите исправить: "error: expected ';' before 'p'" "error: 'p' was not declared in this scope" "error: dependent-name 'std::vector::const_iterator' is parsed as a non-type, but instantiation yields a type" #ifndef ASSOC_H_#define ASSOC_H_#include <iostream>#include <string>#include <vector>#include <iterator>using std::vector;using std::string;using std::cout;template<class T>class Assoc{ private: struct Pair { T name; double val; Pair(T n = "", double v = 0):name(n),val(v){} }; vector<Pair> vec; public: Assoc(){} void print_all() const;};template<class T>void Assoc<T>::print_all() const{ for (vector<Pair>::const_iterator p = vec.begin(); p != vec.end(); p++) cout << p->name << ": " << p->val << '\n';}#endif Ссылка на комментарий Поделиться на другие сайты Поделиться
Amsterdam Опубликовано 20 октября, 2010 Жалоба Поделиться Опубликовано 20 октября, 2010 Какая среда используется? В C++ Builder код работает нормально. Ссылка на комментарий Поделиться на другие сайты Поделиться
little_greg Опубликовано 21 октября, 2010 Автор Жалоба Поделиться Опубликовано 21 октября, 2010 Code::Blocks 10.05, DEV-C++ 4.9.9.2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Amsterdam Опубликовано 21 октября, 2010 Жалоба Поделиться Опубликовано 21 октября, 2010 На эту строчку поменяй соответствующую for (class vector<Pair>::const_iterator p = vec.begin(); p != vec.end(); p++) Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти