Friend функция класса выдает ошибку was not declared in this scope

Сегодня долго бился с указанной проблемой при сборке-компиляции проекта на c++ под debian. Решение было в итоге найдено.

Для некоторого класса была объявлена friend-функция. Всё объявление класса я приводить не буду, только структуру класса и объявление самой функции:

Объявление и реализацию класса разместил в файлах Mat3D.h и Mat3D.cpp соответственно.

Далее в другом файле проекта Calc.cpp я пытался вызвать эту функцию, на что получал загадочное сообщение:

Хотя файл Mat3D.h успешно компилировался и был подключен в начале Calc.cpp.

Описывать все идеи и попытки помочь «увидеть» функцию компилятор не стану. Помогло дополнительно объявление функции после класса Mat3D. Вот так:

Надеюсь кому то тоже поможет, ибо решения в сети так и не нашел. Люди писали о схожих проблемах, сетуя на то, что под Windows компилируется нормально, а в Unix такая вот проблема.

Написать комментарий

Мало букафф? Читайте есчо !

Установка C++ для unix (debian)

Декабрь 19, 2015 г.

Мне пришла мысль кое что "по-кодить" для веб-сервера, начал вспоминать когда то горячо любимый C++. Но сразу столкнулся с тем фактом, что в современной UNIX не установлен компилятор С++ по умолчанию. Устанавливаем Итак, устанавливаем Си на хостинге ...

Читать

Чтение параметров командной строки из программы в C++ (Unix, GCC)

Декабрь 19, 2015 г.

UNIX используется чаще всего как операционная система для серверов. Большинство утилит не имеет графического (или псевдографического) интерфейса, вызывается ...

Читать

 

Комментарии к «Friend функция класса выдает ошибку was not declared in this scope»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: