2016-04-08 14 views
0

Türetilmiş bir sınıf aracılığıyla templated bir taban sınıfı yöntemini çağırmaya çalışıyorum. Bu derleme başarısız olur veŞablonlu bir temel sınıf yönteminin derlenmesi başarısız oluyor

main.cpp: In function 'int main()': main.cpp:25:5: error: expected unqualified-id before '<' token d.(baseMethod(12)); ^main.cpp:25:6: error: expected primary-expression before 'int' d.(baseMethod(12));

tamir edebilirim konusunda herhangi bir öneri devletler

struct base 
{ 
    template<typename t> 
    void baseMethod(t s) 
    { 
     std::cout << s; 
    } 
}; 


struct der : public base 
{ 
}; 


int main() 
{ 
    der d; 
    d.<int>(baseMethod(12)); 
} 

benim kodudur?

cevap

5

bu questuion miras ile ilgisi yoktur verdiği halde, uygun sözdizimi Ancak

d.baseMethod<int>(12); 

olurdu, hatta bu gerekli değildir template deduction nedeniyle: Basit

d.baseMethod(12); 

olur iş.

+0

Teşekkürler. Sözdizimi beni attı - zamanlayıcıdan sonra cevap olarak MArked –

İlgili konular