我已经实现了自己的 xml 编写器来将 xml 生成为 QString。
我创建了一个类“MyXmlWriter”,其私有成员变量为 QXmlStreamWriter,并尝试在公共方法 writeToString() 中对其进行初始化
在声明头文件中:
class MyXmlWriter {
public:
MyXmlWriter();
~MyXmlWriter();
QString writeToString();
private:
QXmlStreamWriter writer;
void writePart();
}
在 cpp 文件中:
void MyXmlWriter::writePart() {
// i want to use the QXmlStreamWriter instance hier
}
QString MyXmlWriter::writeToString(){
QString result;
writer(&result); // at this became the error: no match for call to '(QXmlStreamWriter) (QString*)'
xmlWriter.setAutoFormatting(true);
// private method called
writePart();
return result;
}
此错误出现在构建上: 错误:不匹配调用 (QXmlStreamWriter) (QString ) writer(&result); *
如果在本地方法writeToString()中声明了QXmlStreamWriter 写入,那么我无法在私有方法writePart()中访问此写入器 我想在其他方法中使用成员变量“writer”,这就是为什么本地声明不是我的选项.