Fórumok
Helló!
Volt egy osztályom, amit átalakítottam template-es osztállyá. Valami ilyesmit szeretnék csinálni:
template<class T>
class a {
public:
map<int, T> aa;
bool get() {
map<int, T>::iterator it = aa.begin();
return true;
}
};
Erre azt mondja a g++, hogy:
temp2.cpp: In member function ‘bool a<T>::get()’:
temp2.cpp:11: error: expected `;' before ‘it’
A miheztartás végett, ezzel semmi baja sincs:
class a {
public:
map<int, int> aa;
bool get() {
map<int, int>::iterator it = aa.begin();
return true;
}
};
Miért van ez, vagy minek olvassak bővebben utána? Vagy csak menjek el pihenni, holnap amint ránézek, rájövök?
- 1159 megtekintés
Hozzászólások
Kell egy typename elé:
typename map<int, T>::iterator it = aa.begin();
Nem próbáltam ki, de első ránézésre - néhány pohár pezsgő után - ez a probléma.
KisKresz
- A hozzászóláshoz be kell jelentkezni
Valóban, köszi!
- A hozzászóláshoz be kell jelentkezni
szerk: megelőztek :)
------
gentóhuszár
- A hozzászóláshoz be kell jelentkezni