Хорошо, ребята, я довольно новичок в C ++, и я немного запутался в том, что здесь происходит, поэтому я даже не уверен, является ли мой заголовок точным описанием моей проблемы, но здесь ничего не говорится.
SO У меня есть файл заголовка, в котором есть две длинные переменные.
long num, denom;
Затем в моем файле. cc у меня есть конструктор, который требует две длинные переменные для установки этих переменных и две целые для их установки переменные. Конструктор int находится ниже.
Ratio::Ratio(int numerator, int denominator){
num = long(numerator);
denom = long(denominator);
this->normalize();}
Я предполагаю, что мне нужно преобразовать свои параметры в long, чтобы сохранить их в длинных переменных, которые я объявил в своем заголовочном файле.
При попытке компилирования я получаю ошибка: `ошибка: не найдено ни одного объявления 'long int Ratio :: figurerator ()' 30 | long Ratio :: figurerator () {return num;}
Моя текущая функция нумератора - просто простой метод получения
long Ratio::numerator(){return num;}
Я предполагаю, что когда я приводил их к long в конструкторе, это создает длинный int. Затем компилятор ищет функцию числителя, которая принимает длинные int-параметры вместо long (как та, что я уже сделал), но не находит ее. Любая идея, как это исправить, не создавая функцию числителя, которая занимает много времени? У меня должен быть конструктор, который принимает целые числа и я могу хранить их в моих длинных переменных num и denom. Любая помощь приветствуется! Спасибо `