QFile需要多个参数?

时间:2012-07-28 04:07:28

标签: c++ qt qfile

我有一个班级:

Class MyClass
{
    void myMember();
    ///code etc
    private:
        QFile fileMBox; 
}

并在班级成员中尝试使用:

void MyClass::myMember()
{
    fileMBox ("myFile.txt");
}

我得到一个错误说:“错误:C2064:术语不评估为带有1个参数的函数”但文档说要使用:

QFile file("in.txt");

我做错了什么?

感谢

1 个答案:

答案 0 :(得分:1)

您提出的文档是构造函数。实际制作对象时调用它,而不是稍后调用。你表现得像对象是一个仿函数,在它被制作后“调用”它。

要使用构造函数,您可以使用文件名

初始化您的成员
MyClass::MyClass() : fileMBox ("myFile.txt") {}

然而,没有使用Qt,我不知道是否会打开它。如果它确实打开它,请使用以下代码:

MyClass::MyClass() {
    fileMBox.setFileName ("myFile.txt");
}

现在你的功能只需要打开它,使用它,每次都关闭它:

void MyClass::myMember() {
    if (!fileMBox.open (QIODevice::ReadOnly | QIODevice::Text))
        //handle error

    //read file and do whatever

    fileMBox.close(); 
}