模板参数不能成为朋友

模板参数不能成为朋友

本文介绍了模板参数不能成为朋友的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 29岁程序员,3月因学历无情被辞! 你好, 你能建议我,为什么gcc 3.3.3无法编译这个: 模板< class T> class Base { Base(){} 朋友T; }; A类:虚拟公共基地< A> { 公开: A() {} }; #g ++ test.cpp test.cpp:6:错误:模板参数不能成为朋友 而CC,MS VisualC ++,gcc 2.95呢。 是否与C ++标准冲突? 如何更改代码产生这样的行为?我需要使用 模板 谢谢。 解决方案 No. 使''Base'的构造函数受到保护。 V - 请在通过电子邮件回复时删除资金''A' 我没有回复顶部-posted回复,请不要问 No. 使''Base'的构造函数受到保护。 V - 请在通过电子邮件回复时删除资金''A' 我没有回复顶部-posted回复,请不要问 - 隐藏引用的文字 - - 显示引用的文字 - 我想要A级是最后一堂课。这就是为什么我保留Base'的构造函数是私有的。即使我保护它,它也不会被编译。 No. 使''Base'的构造函数受到保护。 V - 请在通过电子邮件回复时删除资本''A'我不回复最热门的回复,请不要问 - 隐藏引用的文字 - - 显示引用的文字 - 我希望A班成为最后一堂课。这就是为什么我保留Base'的构造函数是私有的。即使我让它受到保护,它也不会被编译成。 这就是为什么你说你想*做*的原因。您的问题是常见问题解答。 http://www.parashift.com/c++-faq-lit...html#faq-23.11 Hello,would you suggest to me, why gcc 3.3.3 can not compile this:template<class T>class Base{Base(){}friend T;};class A:virtual public Base<A>{public:A(){}};# g++ test.cpptest.cpp:6: error: template parameters cannot be friendswhile CC,MS VisualC++, gcc 2.95 do.Does it conflict with C++ standard?How can i change code to produce such behaviour? I need to usetemplateThank you. 解决方案No.Make the constructor of ''Base'' protected.V--Please remove capital ''A''s when replying by e-mailI do not respond to top-posted replies, please don''t askNo.Make the constructor of ''Base'' protected.V--Please remove capital ''A''s when replying by e-mailI do not respond to top-posted replies, please don''t ask- Hide quoted text -- Show quoted text -I want class A to be final class. Thats why I have kept Base''sconstructor is private. Even if I make it protected ,it is not goingto get compiled.No.Make the constructor of ''Base'' protected.V--Please remove capital ''A''s when replying by e-mailI do not respond to top-posted replies, please don''t ask- Hide quoted text -- Show quoted text -I want class A to be final class. Thats why I have kept Base''sconstructor is private. Even if I make it protected ,it is not goingto get compiled.This is why you say what you *want* to do. Your question is a FAQ. http://www.parashift.com/c++-faq-lit...html#faq-23.11 这篇关于模板参数不能成为朋友的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!
08-21 18:29