У меня простенькая программа, не так давно начал изучение C++, и вот с какой проблемой столкнулся.
Есть основной файл main.cpp, и есть 2й файл func.cpp, в нем хранится лишь одна функция, в основном файле подключаю func.cpp, и использую ее в основном файле, и выдает ошибку о многобайтовом использовании символа.
Вообще обычно cpp файлы не используют в #include.
Бывают исключения, но крайне редкие и там разрабы наверное знают что делают, впрочем это не значит, что это правильный вариант. Но, возможно, самый простой в их случае.
В файлах заголовоков обычно пишут как раз форвардные объявления экспортируемых функций (помимо типов, макросов и т.п.).
Поэтому правильный вариант был бы: создать файл func.h, в нем написать форвардное объявление функции и затем включить его в main.cpp в include. При этом при компиляции надо будет указывать оба файла в опциях компилятору: g++ main.cpp func.cpp
Выше описан стандартный правильный подход для работы в проекте, где исходников больше чем 1 файл, практически всегда надо использовать такой подход.
Еще один вариант сделать чтоб программа собралась, но при этом ничего не изменять в исходниках вообще - не указывать func.cpp при сборке компилятору: g++ main.cpp
Это сработает в вашем случае, т.к. #include "func.cpp" уже включает содержимое func.cpp в main.cpp, компилятору этого достаточно для сборки.
Ошибка у вас была явна не то что вы пишете:
выдает ошибку о многобайтовом использовании символа.
Она видимо звучала как многократное (или множественное) определение символа.
В следующий раз приводите здесь оригинальный текст ошибки - просто скопируйте то что вам выдал компилятор - всем будет проще.