私はブラックベリー開発の初心者です.クラスのメンバーとしてfirstName、customerId、addressを持つ.cppおよび.hppファイルを持つ単純なPersonクラスを作成していました.Propertiesとsetter、gettersを作成しましたが、Person.cppでエラーが発生しています、Setter 定義、Person.hpp で宣言されているシグナルを発行しようとすると。
エラー : `Person::customerIDChanged(QString const&)' への未定義の参照
Person.cpp:
void Person::setCustomerID(const QString &newId)
{
if (newId != m_id) {
m_id = newId;
emit customerIDChanged(newId); // gives error at this line
}
}
void Person::setFirstName(const QString &newName)
{
if (newName != m_firstName) {
m_firstName = newName;
emit firstNameChanged(newName);// gives error at this line
}
}
void Person::setAddress(const QString &newName){
if (newName != m_address) {
m_address = newName;
emit addressChanged(m_address);// gives error at this line
}}
Person.hpp:
class Person:public QObject
{
Q_OBJECT
Q_PROPERTY( QString customerID READ customerID WRITE setCustomerID NOTIFY customerIDChanged FINAL)
Q_PROPERTY( QString firstName READ firstName WRITE setFirstName NOTIFY firstNameChanged FINAL)
Q_PROPERTY( QString address READ address WRITE setAddress NOTIFY addressChanged FINAL)
public:
Person(QObject *parent = 0): QObject(parent){};
Person(const QString &id, const QString &firstname, const QString &address, QObject *parent = 0) : QObject(parent)
, m_id(id)
, m_firstName(firstname)
, m_address(address){};
QString customerID() const;
QString firstName() const;
QString address() const;
void setCustomerID(const QString &newId);
void setFirstName(const QString &newName);
void setAddress(const QString &newName);
Q_SIGNALS:
void customerIDChanged(const QString &newId);
void firstNameChanged(const QString &firstName);
void addressChanged(const QString &address);
private:
QString m_id;
QString m_firstName;
QString m_address;};
#endif
事前にサンクス!!