Функция друга Extern "S" с enum returnC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Функция друга Extern "S" с enum return

Сообщение Anonymous »

Я должен взаимодействовать с функцией С, но этот код не компилируется. < /p>

Код: Выделить всё

// c_enum.h
#pragma once

typedef enum { val1 = 0 } c_style_enum_t;
c_style_enum_t c_func();
< /code>

// my_class.hpp
#pragma once

extern "С" {
#include "c_enum.h"
}

class my_class {
public:
private:
friend c_style_enum_t ::c_func();
};
< /code>
gcc напечатает ошибку: < /p>
 error: 'enum c_style_enum ' is not a class or namespace
142 |     friend c_style_enum ::c_func();
error: ISO C++ forbids declaration of 'c_func' with no type [-fpermissive]
Когда возвращается тип c_func () int или что -то другое, кроме как перечисление типа этого Wokrs
Как сделать эту работу?

Подробнее здесь: https://stackoverflow.com/questions/794 ... eturn-type
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»