我正在尝试获取其中包含数字列表的文本文件,将它们排入队列,将它们存储为双精度,然后将其出队到另一个文本文件。我认为问题出在数据类型的不同之处,从文件作为字符串读取到存储在队列中作为双打时,但我不确定如何解决。
我尝试读取文本文件,首先将它们从字符串转换为双精度,然后将它们存储为另一个队列,然后将具有双精度的第二个队列出队到输出文件中。
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> :: get [with _Elem = char,_Traits = std :: char_traits]“与参数列表匹配”和
“ std :: basic_istream>&std :: basic_istream> :: get(std :: basic_streambuf>&,_ Elem)':无法将参数1从'double'转换为'_Elem&”