6
temel sınıf typedef erişme Türetilmiş sınıf şablonundan temel sınıftaki bir typedef üyesine erişmeye çalışıyorum. Şablon parametresinin şablon adında, temel sınıftaki typdef adıyla aynıdır.Türetilmiş sınıf şablonuna
#include <iostream>
using namespace std;
class no {
public :
typedef int T;
};
template<typename T> class no1 : public no {
public :
T obj;
};
int main() {
// your code goes here
no1<string> o ; o.obj = "1";
return 0;
}
14:24: error: invalid conversion from 'const char*' to 'no::T {aka int}' [-fpermissive]
no1<string> o ; o.obj = "1";
Yukarıdaki kod T'nin nesnesi her zaman int'dir. Nes sınıf şablonunda değil de typdef olarak şablon parametresinde nasıl zorlayabilirim? Bu benim için çalışıyor
Teşekkür
Yapamazsınız int' 'için T '' dan açık bir dönüşüm sağlamadan. Ayrıca, 'T' şablon parametresinin sadece _shadows_ 'no :: T' olduğunu, bunların ilgisiz olduğunu unutmayın. –
Bu soru, temel sınıfını değiştirmeden veya şablon parametresini yeniden adlandırmadan T şablonu parametresine nasıl erişeceğimiz sorusudur? – noname
Yine yapamazsın. –