Mistäköhän syystä oheinen iteraattorin määrittely ei onnistu? (Pelkän vektorin kyllä saa määriteltyä)
****
#include
template class A
{
std::vector::iterator p; //ei onnistu, miksi?
std::vector v; //onnistuu
std:vector::iterator i; //onnistuu tämäkin
};
****
#include
template class A
{
std::vector::iterator p; //ei onnistu, miksi?
std::vector v; //onnistuu
std:vector::iterator i; //onnistuu tämäkin
};
Vastaukset 2
Vanhimmat
Minkähän virheen tuo heittää ja mitä kääntäjää käytät? VC6 kääntää ilman ongelmia.
Kääntäjä ei tiedä, onko
std::vector::iterator p
muuttuja vai tyyppi. Tee siis näin:
typename std::vector::iterator p