函数模版与访问权限

bigtankbigtank bigtankbigtank 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
//============================================================================================================
//函数模版与访问权限的关系

template<typename T> void Outer(T t){
t();
}

class CNestedAccessed{
public:
void call(void){
callOuter();
}
private:
void callOuter(void);
struct CNested{
void operator()(void){
}
};
};

void CNestedAccessed::callOuter(void){
//尽管CNested是CNestedAccessed的私有成员,但Outer<T>(T)仍可访问CNested的公有成员
Outer(CNested());
}

int main(int,char*){
CNestedAccessed NestedAccessed;
NestedAccessed.call();

return 0;
}

我在VC++8下编译通过。
请大家尽量在不同的C++编译器下编译,如果都能通过那就说明函数模版与普通函数的访问权限规则还是有所不同的。
...全文

相关推荐

评论 3
收藏 已收藏
分享
返回顶部
bigtankbigtank
C++ 语言 65,214 成员 250,514 内容