ltyqljhwcm
GMFTBY
2016-05-31 13:05
采纳率: 30%
浏览 2.1k

C++的成员函数友元的问题

假如我声明了两个类,第二个声明的类中的成员函数作为第一个类的友元函数,这时候出现的编译错误该怎么解决

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • oyljerry
    oyljerry 2016-05-31 13:52
    已采纳
    点赞 评论
  • qq423399099
    小灸舞 2016-05-31 13:18

    无代码无真相,上点代码

    点赞 评论
  • GreenTeak
    GreenTeak 2016-05-31 14:10

    亲,问一下你的编译器是不是vs2012。如果是的话那就是编译器的问题,解决办法是直接将这个类声明为友元函数,还可以用其他编译器codeblocks等,或者用vs2015版

    点赞 评论
  • nothingbutpassion
    nothingbutpassion 2016-06-01 00:57

    可在第一个类A中声明第二个类B为友元;或者在
    第一个类A中声明第二个类B的static成员函数为友元;如果你在第一个类A中声明第二个类B的非static成员函数为友元,应该就会出现编译问题。

    点赞 评论
  • nothingbutpassion
    nothingbutpassion 2016-06-01 03:03

    在第一个类A中声明第二个类B的非static成员函数为友元也是可以的。编译出错,有可能是写法上需的问题:1.作为友元的成员函数的定义或实现代码最好不要写在类内部;2.是否需要类的前向申明;3.参考一下网上的例子的写法。

    点赞 评论
  • yx20130919
    阿狸茜茜 2016-06-05 13:24

    我觉得,可能是你在使用第一个类创建对象,而类的定义在第二个类的后面。造成了代码运行到创建对象找不到第二个类的构造函数

    点赞 评论

相关推荐