Я пишу приватную функцию-член для класса (function1) и для фрагмента кода, я решил, что будет проще поместить этот фрагмент в его собственную функцию (function2) и вызывать его из function1. Тем не менее, компилятор говорит, что function2 нужен объект. Это не имеет смысла для меня, потому что объект должен быть создан для того, чтобы функция1 работала, поэтому объект для функции2 должен выглядеть как «это».
int ClassName::function1(args)
{
//some code;
//some code;
function2(args); //says I need an object to call the function here
//some code;
}
int ClassName::function2(args)
{
//some code;
}
Точный код ошибки: «Нестатическая ссылка на элемент должна относиться к конкретному объекту». Я искал часы, и каждый случай этого происходит от кого-то, вызывающего функцию-член класса извне класса без использования указателя объекта. Я не могу найти ничего для функции-члена класса, вызывающей другую функцию-член класса. Я также думал, что без проблем вызывал функции-члены из других функций-членов в прошлом, поэтому я в замешательстве. Я мог бы просто удалить function2 и выполнить все вычисления внутри function2, но тогда я бы ничего не узнал!
Я попытался изменить порядок определения функций в файле cpp. Порядок прототипов в шапке. Изменен function2 с частного на публичный. Нет кости. Я исчерпал Google, мои собственные знания программирования и любые эксперименты, о которых я мог думать, поэтому я должен попросить вас, ребята, о помощи сейчас. Если вам нужна дополнительная информация, дайте мне знать, хотя кажется, что точный код внутри моих функций не имеет отношения к проблеме.
Задача ещё не решена.