簡體   English   中英

如何使用類模板完全專門化功能模板?

[英]How do I fully specialize a function template with a class template?

template <typename T>
void foo(T t)
{
   ... // do stuff with type T
}

template <typename T>
class class_template
{
    // class body
};

template<>                       // failed attempt at full specialization
void foo(class_template<T> t)    // which doesn't work of course
{
    //full specialization for all classes of class_template
} 

在上面的代碼中,如何使用類模板顯式地專門化foo函數?

在上面的代碼中,如何使用類模板顯式地專門化foo函數?

你不能。 這是部分專業的重點。 但是它們不適用於功能。

您有兩種解決方案:

  • 重載功能。 這通常有效。
  • 將工作參考類模板,該模板可以部分進行專門處理。 也就是說,你的函數中,調用類模板(靜態)功能,並專注這一點

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM