C++ 无法访问私有函数 /****项目计算器配置调试的构建**** ****内部生成器用于生成**** g++-O0-g3-Wall-c-fmessage length=0-o src\Calculator.o..\src\Calculator.cpp ..\src\/Calculator.h:在函数'std::ostream&operator

C++ 无法访问私有函数 /****项目计算器配置调试的构建**** ****内部生成器用于生成**** g++-O0-g3-Wall-c-fmessage length=0-o src\Calculator.o..\src\Calculator.cpp ..\src\/Calculator.h:在函数'std::ostream&operator,c++,private-methods,C++,Private Methods,中,如果不是这样,那么这将是一个极好的问题 在类成员列表前面时,private关键字指定 这些成员只能通过成员函数和 同学们。这项规定适用于所有宣布加入欧盟的成员国 下一个访问说明符或类的结尾 无法访问成员函数,因为您试图从类外部访问它。如上所述,private关键字用于防止出现这种情况 如果确实需要从类外部进行访问,则需要使用public关键字将其设置为公共方法 在这里查找关于private关键字的信息 看看你的错误,我认为问题在于操作符的重载好吧,如果不是这样的话,那么这将是一个很好的

中,如果不是这样,那么这将是一个极好的问题



在类成员列表前面时,private关键字指定 这些成员只能通过成员函数和 同学们。这项规定适用于所有宣布加入欧盟的成员国 下一个访问说明符或类的结尾

无法访问成员函数,因为您试图从类外部访问它。如上所述,private关键字用于防止出现这种情况

如果确实需要从类外部进行访问,则需要使用public关键字将其设置为公共方法

在这里查找关于private关键字的信息



看看你的错误,我认为问题在于操作符的重载好吧,如果不是这样的话,那么这将是一个很好的问题



在类成员列表前面时,private关键字指定 这些成员只能通过成员函数和 同学们。这项规定适用于所有宣布加入欧盟的成员国 下一个访问说明符或类的结尾

无法访问成员函数,因为您试图从类外部访问它。如上所述,private关键字用于防止出现这种情况

如果确实需要从类外部进行访问,则需要使用public关键字将其设置为公共方法

在这里查找关于private关键字的信息



看看您的错误,我认为问题在于运算符的重载您可能希望生成
运算符您可能希望生成
运算符为什么要尝试访问私有函数?上面的内容似乎是完全可以预料到的,那么您为什么要尝试访问私有函数呢?上面这句话似乎完全是意料之中的,你站起来是因为你让我笑了,这是真的:)但这还不是一个完整的答案。你能稍微扩展一下你的答案吗?也许可以向@harsha大致解释一下私有/受保护/公共功能之间的区别?然后你就可以继续工作了;)@乔治我甚至想对这个问题投赞成票,但我不得不阻止自己:)你站起来是因为你让我笑了,这是真的:)但这还不是一个完整的答案。你能稍微扩展一下你的答案吗?也许可以向@harsha大致解释一下私有/受保护/公共功能之间的区别?然后你就可以继续工作了;)@乔治我甚至想对这个问题投赞成票,但我不得不阻止自己:)
 //**** Build of configuration Debug for project Calculator ****

   **** Internal Builder is used for build               ****
g++ -O0 -g3 -Wall -c -fmessage-length=0 -o src\Calculator.o ..\src\Calculator.cpp
..\src\/Calculator.h: In function 'std::ostream& operator<<(std::ostream&, CComplex)':
   ..\src\/Calculator.h:38:9: error: 'float CComplex::m_imaginary' is private
  ..\src\Calculator.cpp:79:8: error: within this context
     ..\src\/Calculator.h:37:9: error: 'float CComplex::m_real' is private
   ..\src\Calculator.cpp:81:12: error: within this context
       ..\src\/Calculator.h:38:9: error: 'float CComplex::m_imaginary' is private
        ..\src\Calculator.cpp:81:31: error: within this context
     ..\src\/Calculator.h:37:9: error: 'float CComplex::m_real' is private
       ..\src\Calculator.cpp:85:12: error: within this context
         ..\src\/Calculator.h:38:9: error: 'float CComplex::m_imaginary' is private
       ..\src\Calculator.cpp:85:31: error: within this context
Build error occurred, build is stopped
Time consumed: 687  ms.  
class CComplex {
    ...
    // It doesn't matter whether this declaration is on a private, 
    // public or protected section of the class. The friend function
    // will always have access to the private data of the class.
    friend std::ostream& operator<<(std::ostream&, CComplex);
};