Объявить функцию C как друга внутри класса CPP
Мне нужно использовать закрытую переменную класса внутри функции 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 ответ
Решение
Просто объявите эту функцию перед вашим классом:
extern "C" void foo();
Затем вы можете использовать его в объявлении друга:
class A {
public:
A() {}
private:
friend void foo();
int a;
};