в классе, в котором объявлен этот метод. если бы не было объявлено - не компилировалось бы. я ж написал, что компилится.
Компилится но не выполняется. А это значит, что с объявлением переменных все в порядке а с инициализацией беда. Нет инициализации либо ftp_file, либо ftp.
Если не понял посмотри пример: QTDIR/examples/network/ftp.
void FtpWindow::downloadFile()
{
QString fileName = fileList->currentItem()->text();
if (QFile::exists(fileName)) {
QMessageBox::information(this, tr("FTP"),
tr("There already exists a file called %1 in "
"the current directory.")
.arg(fileName));
return;
}
file = new QFile(fileName);
if (!file->open(QIODevice::WriteOnly)) {
QMessageBox::information(this, tr("FTP"),
tr("Unable to save the file %1: %2.")
.arg(fileName).arg(file->errorString()));
delete file;
return;
}
ftp->get(fileList->currentItem()->text(), file);
progressDialog->setLabelText(tr("Downloading %1...").arg(fileName));
progressDialog->show();
downloadButton->setEnabled(false);
}