私はこのチュートリアルに従っていました:
bit.ly/SBMmwp
そして、最初の行で次のエラーが発生しました。
エラー: 'const char [26]' から非スカラー型 'KAuth::Action' への変換が要求されました
KAuth::Action readAction = "org.kde.auth.example.read";
KAuth::ActionReply reply = readAction.execute();
if (reply.failed())
{
QMessageBox::information(this, "Error", QString("KAuth returned an error code: %1").arg(reply.errorCode()));
}
else
{
QMessageBox::information(this, "Done!", QString("Successfully authenticated!"));
}
エラーは最初の行にあります: KAuth::Action readAction = "org.kde.auth.example.read";
なぜこうなった?これは KAuth API の誤用に関連するエラーですか、それとも一般的な C/C++ エラーですか。そのconst char[26]を非スカラー型に変換する方法さえわかりません。
@nm いいえ。これは、メイン ウィンドウ (GUI) が作成されるイベントに関するものです。完全なコードは次のようになります。
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <kauth.h>
#include <QMessageBox>
#include <kauthaction.h>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
KAuth::Action readAction = "org.kde.auth.example.read";
KAuth::ActionReply reply = readAction.execute();
if (reply.failed())
{
QMessageBox::information(this, "Error", QString("KAuth returned an error code: %1").arg(reply.errorCode()));
}
else
{
QMessageBox::information(this, "Done!", QString("Successfully authenticated!"));
}
}
MainWindow::~MainWindow()
{
delete ui;
}