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++) Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.