我寫了這段代碼,但它不起作用!使用帶模板類的typedef
它是一個節點的執行用C++動態堆棧:
template <class E>
class Record{
public:
E elem;
Record<E> *prec;
};
typedef Record<E> *P; <- error!
我不能解決它,任何溶液? 感謝
我寫了這段代碼,但它不起作用!使用帶模板類的typedef
它是一個節點的執行用C++動態堆棧:
template <class E>
class Record{
public:
E elem;
Record<E> *prec;
};
typedef Record<E> *P; <- error!
我不能解決它,任何溶液? 感謝
typedef Record<E> *P; <- error!
你不能這樣做 「模板類型定義」 像這樣在C++ 03。您需要用具體類型替換E
。
在C++ 11,你可以用一個using
別名,就像這樣:
template <typename E>
using P = Record<E>*;
P<int> p;
P<float> q;
你的意思是,你得到一個編譯錯誤?什麼是錯誤? – BoBTFish
您需要用實際類型替換「E」。例如'typedef Record * P;' –
juanchopanza
@juanchopanza ....你爲什麼不在回答部分寫這些? – Michael