Уважаемый ALL! Не могу разобраться! Вот структура:
#ifndef GLOBALS_H
#define GLOBALS_H
#include <string>
#include <vector>
#include <QString>
#include "globals.h"
using namespace std;
struct curve{
vector<string> inFile;
vector<string> outFile;
vector<string> expFile;
vector<string> spiceParam;
vector<string> spiceMin;
vector<string> spiceInit;
vector<string> spiceMax;
string AlgOpt;
};
#endif // GLOBALS_H
В другом файле: тут я в строковые поля передаюения и потом возвращаю структуру.
curve res;
..........
QDomElement inf = child.firstChildElement("file");
while(!inf.isNull()){
res.inFile.push_back(inf.firstChildElement("Cir").text().toStdString());
res.outFile.push_back(inf.firstChildElement("Out").text().toStdString());
res.expFile.push_back(inf.firstChildElement("Exp").text().toStdString());
inf = inf.nextSiblingElement("file");
}
В другом файле: тут из уже полученной структуры пытаюсь записать в поля таблицы значения
//теперь заполняем таблицы полученной инфой
ui->filestableWidget->setRowCount(0);
for(i=0;i<res.expFile.size();i++){
ui->filestableWidget->setRowCount(ui->filestableWidget->rowCount()+1);
ui->filestableWidget->setItem(ui->filestableWidget->rowCount()-1,0, new QTableWidgetItem("TTTTTT"));
ui->filestableWidget->setItem(ui->filestableWidget->rowCount()-1,0, new QTableWidgetItem(new QString(res.inFile.at(i))));
ui->filestableWidget->setItem(ui->filestableWidget->rowCount()-1,1, new QTableWidgetItem(new QString (res.outFile.at(i))));
ui->filestableWidget->setItem(ui->filestableWidget->rowCount()-1,2, new QTableWidgetItem(new QString (res.expFile.at(i))));
}
ui->modelparamtableWidget->setRowCount(0)
... Получаю такую ошибку:
.../mainwindow.cpp:146: error: no matching function for call to ‘QString::QString(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)’
Подскажите, где я неправ? Как надо? P.S. Хочу использовать простую строку, так как эта же инфа передается в другие функции, где QT использовать не надо.