在CPP类中声明一个C函数作为朋友

时间:2015-03-15 09:18:41

标签: c++ c

我需要在C函数中使用类的私有变量。 我正在做这样的事情

class Helper
{
private:
    std::string name;
public:
    std::getName(){return name;}
friend extern "C" void initializeHelper();
};

但此代码段提供错误unqualified-id before string constant extern "C" {

我无法确定我在这里做错了什么。

1 个答案:

答案 0 :(得分:8)

只需在课前向前声明此功能:

extern "C" void foo();

然后你可以在friend-declaration中使用它:

class A {
public:
  A() {}
private:
  friend void foo();
  int a;
};