Vector中使用文件流插入数据时的未精确值

问题描述 投票:0回答:1

我有一个模板类,在其中我有一个函数,该函数应读取文本文件的内容并创建一个对象,该对象将被推送到自己实现的矢量类中。我可以编译代码,但是在向量中第0个元素上有一个非常大的数字时出现错误。 (这是由脚本提供的用于错误处理的错误,不是任何c ++编译器错误。)

代码看起来像这样:

bool FileReading(const std::string &nameOfFile)
{
    std::ifstream readFileObj(nameOfFile);
    if (readFileObj.is_open())
    {
        T input;
        readFileObj >> input;
        PushBack(input);

        readFileObj.close();
        return true;
    }
    return false;
}

变量T输入是模板变量,函数PushBack是将对象推入向量的函数。 (不是std push_back函数)

我是否缺少明显的东西?关于流如何工作的基本知识?

这是我的PushBack功能:

void PushBack(const T &element)
{
    if (currentElementCount == maximumCapacity)
    {
        T *tempArray = new T[maximumCapacity * 2];
        for (unsigned int i = 0; i < maximumCapacity; ++i)
            tempArray[i] = normalArray[i];
        delete[] normalArray;
        maximumCapacity *= 2;
        normalArray = tempArray;
    }
    normalArray[currentElementCount] = element;
    currentElementCount += 1;
}

我有一个模板类,在其中我有一个函数,该函数应读取文本文件的内容并创建一个对象,该对象将被推送到自己实现的矢量类中。我可以编译代码,但是...

c++ templates stream stringstream
1个回答
0
投票

我不确定我对执行这些操作的环境有正确的了解,但是我想到了一些想法可能会有所帮助:

© www.soinside.com 2019 - 2024. All rights reserved.