相关疑难解决方法(0)

如何在图书馆内为我的班级的朋友制作主?

请看我第一次尝试回答这个问题 .为了简化事情,我忽略了讲述整个故事.结果我的例子工作!抱歉.

整个故事是,这是一个库,在一个文件中包含一个类,另一个文件中包含一个主,所有这些都链接到我的库中.该库提供了流程框架的基础,这就是为什么主要是在库中而不是流程.

下面是我所拥有的精简版.

pf.hpp

using namespace std;

namespace MyNamespace
{
  class ProcessManager
  {
  public:
    friend int main(int argc, char** argv);
  private:
    void test();
  };
};
Run Code Online (Sandbox Code Playgroud)

pf.cpp

#include "pf.h"

namespace MyNamespace
{
  ProcessManager::test()
  {
    cout << "My friend has accessed my member" << endl;
  }
};
Run Code Online (Sandbox Code Playgroud)

pfmain.cpp

#include "pf.hpp"

int main(int argc, char** argv)
{
   ProcessManager pm;

   pm.test();
}
Run Code Online (Sandbox Code Playgroud)

请注意,这在编译库时失败

我试过的是:

  • 将朋友移到各处
  • 让朋友引用主要使用全局范围(例如:: main)
  • 使朋友和主要声明使用全局范围

我错过了什么?

谢谢!

c++ program-entry-point friend

9
推荐指数
1
解决办法
1390
查看次数

标签 统计

c++ ×1

friend ×1

program-entry-point ×1