C++ 创建对象时将结构作为形式参数传递

C++ 创建对象时将结构作为形式参数传递,c++,qt,C++,Qt,.h: .cpp: 我正在通过以下方式创建一个新注释: Note::Note(Traymenu *trayMenuIn, int i, QWidget *parent) : 我尝试在原型中用struct properties notepripn=0传递该结构,但得到的错误是无法将int 0转换为struct。我需要0,因为此参数仅在加载注释时使用,而不是第一次创建注释时使用。 然后,应使用创建新注释 struct properties { std::string title;

.h:

.cpp:

我正在通过以下方式创建一个新注释:

Note::Note(Traymenu *trayMenuIn, int i, QWidget *parent) :
我尝试在原型中用struct properties notepripn=0传递该结构,但得到的错误是无法将int 0转换为struct。我需要0,因为此参数仅在加载注释时使用,而不是第一次创建注释时使用。 然后,应使用创建新注释

struct properties {
     std::string title;
     int posX, posY;
}noteProp;

noteProp.title="name";

之前有一篇文章是关于希望这是有用的。我没有提到这些错误中的任何一个。它在文章的答案中包含了将结构传递给函数的示例。如果您有结构属性notePropIn=0,请尝试仅使用属性notePropIn该结构是可选的,但并不坏,正如我在那里读到的。如果我删除=0,即使我不需要它,我也必须传递一个结构…@user2366975那么你的问题是,如何为对象参数声明默认值?
void Traymenu::newNote(){
    QSharedPointer<Note> note(new Note(this));
    m_noteList << note;
struct properties {
     std::string title;
     int posX, posY;
}noteProp;

noteProp.title="name";
void Traymenu::newNote(){
    QSharedPointer<Note> note(new Note(this, noteProp));
    m_noteList << note;