Доброго дня всетипа требуется: Передача строки в качестве параметра функционировать
примечание: Я новичок в C++, обучая себя, как я иду вперед, и извинение, если это дубликат, но я не нашел пример/ответ/учебник, чтобы ответить на вопрос, возможно, я еще не понимаю его.
У меня есть функция с заголовком и реализации определенной ниже:
Заголовок
#ifndef RETURNOBJECT_H
#define RETURNOBJECT_H
#include <QtCore>
#include "enums.h"
class ReturnObject
{
public:
ReturnObject();
ReturnObject(ReturnCode enum_code, const char data);
const char getData();
ReturnCode getCode();
private:
ReturnCode e_code;
const char data_string;
};
#endif // RETURNOBJECT_H
Реализация
#include "returnobject.h"
ReturnObject::ReturnObject(){
data_string="WARN";
}
ReturnObject::ReturnObject(ReturnCode enum_code, const char data)
: e_code(enum_code)
, data_string(data)
{}
ResultCode ReturnCode::getCode()
{
return e_code;
}
const char ReturnObject::getData()
{
return data_string;
}
Пожалуйста, обратите внимание, я не знаком с указатели и т. д., как я но я честно понимаю каждую концепцию.
Цель:
Этот объект создается с помощью функции пользовательского класса, хранятся в классе и вернулся в родительский класс. Объект содержит настраиваемое возвращаемое значение exec()
и возможное выходное сообщение/данные из класса (я создал это из-за ограниченных ограничений, например, QDialog.setResult()
, позволяя получить результат только от exec()
от 1 или 0).
Вопрос/проблема/вопрос
вызова класса с:
Private
ReturnObject _ReturnObject;
_ReturnObject = new ReturnObject(ReturnCode::LoginDialog_EmptyLoginPass, "");
обеспечивает следующее сообщение об ошибке:
/home/cx/qt-projects/project-i/loginstatusdialog.cpp:21: error: invalid conversion from 'const char*' to 'char' [-fpermissive]
_ReturnObject = new ReturnObject(ReturnCode::LoginDialog_EmptyLoginPass, "");
^
Таким образом, я делаю вывод из ошибки, что второй параметр ->""
или data
- проблема, поскольку я, скорее всего, неправильно прекратите этот тип данных в конструкторе.
Как определить это в конструкторе?, скорее какой тип данных ""
использование? Насколько я понимаю, это действительно свойство const
.
То, что я пробовал:
Я попытался с помощью char
, const char
, QString
оба, которые дают подобную ошибку.
Любые предложения?
выход Компилятор
после того, как раствор const char * data
../project-i/loginstatusdialog.cpp: In constructor 'LoginStatusDialog::LoginStatusDialog(QString, QString, QString*, QWidget*)':
../project-i/loginstatusdialog.cpp:21:44: error: use of deleted function 'ReturnObject& ReturnObject::operator=(ReturnObject&&)'
_Return_Object = ReturnObject(1, "");
^
In file included from ../project-i/loginstatusdialog.h:10:0,
from ../project-i/loginstatusdialog.cpp:1:
../project-i/returnobject.h:7:7: note: 'ReturnObject& ReturnObject::operator=(ReturnObject&&)' is implicitly deleted because the default definition would be ill-formed:
class ReturnObject
^~~~~~~~~~~~
Пересмотрите определение конструкторов тщательно, у вас есть опечатка. –
Кроме того, '_ReturnObject' является зарезервированным идентификатором реализации, не используйте его. –
@BaummitAugen Извините, я не понимаю. Возможно, вы ссылаетесь на возможность, которую я забыл добавить '*' в 'const char * data', если да, то я не забыл, что мне стало известно о его существовании и значении момента назад из ответа (отсюда Я все еще новичок в C++), если нет, то, пожалуйста, помогите мне в том, чтобы пролить свет на ошибку. Спасибо – KGCybeX