[英]Why I can use private methods from template functions
我有模板類MyClass
template <class T>
class MyClass
{
public:
MyClass() { }
private:
void PrivateFunction() {
std::cout << "Message From Private Function" << std::endl;
}
};
現在當我試圖在另一個函數編譯器內部使用PrivateFunction()報告錯誤時,但是當我嘗試相同的內部模板函數時,編譯器不會顯示任何錯誤。
編譯器不報告錯誤。
template <class T> void f() { MyClass<int> a; a.PrivateFunction(); }
編譯器報告錯誤。
void f() { MyClass<int> a; a.PrivateFunction(); }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.