Я пытаюсь взять текстовый файл со списком чисел в нем, поставить их в очередь, сохранить их в виде двойных чисел, а затем удалить их из другого текстового файла. Я полагаю, что проблема заключается в различии типов данных от того, когда файл читается как строки, до того, когда он сохраняется в очереди как удваивается, но я не уверен, как это исправить.
Я имеюпопытался прочитать текстовый файл, сначала они конвертировали их из строк в двойники, сохраняя их как очередную очередь, затем помещая вторую очередь с двойниками в выходной файл.
void queue::enqueue(double nums)
{
if (isempty())
{
front = new numstack(nums);
rear = front;
}
else
{
rear->next = new numstack(nums);
rear = rear->next;
}
}
void queue::dequeue(double &nums)
{
numstack *temp = nullptr;
nums = front->val;
temp = front;
front = front->next;
delete temp;
int main()
{
queue q;
double nums;
int numnums = 0;
ifstream(input);
ofstream(output);
input.open("input.txt");
while (input.get(nums))
{
q.enqueue(nums);
numnums++;
}
Ошибка в основной функции происходит в строке input.open ("input.txt);
Две ошибки:" нет экземпляра перегруженной функции "std:: basic_ifstream <_Elem, _Traits> :: get [with _Elem = char, _Traits = std :: char_traits] "соответствует списку аргументов" и
"std :: basic_istream> & std :: basic_istream> :: get(std :: basic_streambuf> &, _ Elem) ': невозможно преобразовать аргумент 1 из' double 'в' _Elem & "