[英]Using a member type of templated class as the type of a class member variable
[英]Expect a type specifier when Templated class instance used in another class as member variable
我有兩個類A和B。A是模板類,它具有帶有一個整數參數的構造函數。 另一個類B將A的實例與int模板參數一起使用。 現在的問題是,當我編譯程序時,它說類型是期望的。
這是程序。
template <typename T>
class A
{
public:
A(std::size_t max_size)
{
}
};
class B
{
A<int> list(100);
};
我在遇到編譯問題
A<int> list(100);
線。
提前致謝。
改變這個
A<int> list(100);
以例如
A<int> list<int> li(100);
即提供一個類型(這里我提到了int
)
編譯器解析該行時
A<int> list(100);
它認為您正在嘗試聲明一個名為list
的函數,其返回類型為A<int>
。 它嘗試解析括號中的內容以找到參數類型,默認值等。它希望找到一個類型,但是會找到一個數字
我猜您打算使用:
A<int> list[100];
它聲明list
為100 A<int>
的數組。
如果要使用100
作為A<int>
的構造函數的參數,則必須使用:
class B
{
B() : list(100) {}
A<int> list;
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.