[英]create reference to template virtual class c++
我有這樣的課
template<typename T>
class ConnectionStatus:
{
public:
virtual void setStatus(const T& status) = 0;
virtual T getStatus() = 0;
};
我想在另一個類中引用這個類,所以我要這樣做: ConnectionStatus<typename T>& status;
但編譯器表示error: template argument 1 is invalid
。 那么我怎樣才能引用模板虛擬類呢? 感謝您的任何幫助。
主要有兩種可能性:什么時候知道該模板參數應用於您的類,什么時候不知道。
對於前者,這是提供它的簡單情況(例如,在這種情況下為int
):
struct MyClass
{
ConnectionStatus<int> &m_connection_status;
};
如果您不知道參數,則將您的類設為模板類:
template <typename ConnectionStatusType>
struct MyClass
{
ConnectionStatus<ConnectionStatusType> &m_connection_status;
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.