Как инициализировать QXmlStreamWriter с QString в качестве переменной-члена? - PullRequest
0 голосов
/ 23 мая 2019

Я реализовал свой собственный модуль записи 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 ) (& result); *

Если запись QXmlStreamWriter объявлена ​​в локальном методе writeToString () , тогда я не могу получить доступ к этому модулю записи в приватном методе writePart () я хочу использовать переменную-член "writer" в других методах, поэтому локальное объявление мне не подходит.

...