功能声明:
Q_INVOKABLE void formPackets (unsigned char argPacketDescriptor,
unsigned char argNoOfBytes,
QVector<unsigned char> argBody);
第三个参数QVector
应该是可选的。
我知道一种方法是为QVector
指定默认参数,但我不知道如何使用&#34; QVector&#34;或者&#34; QList&#34;。
如何将QVector
作为可选参数传递给c ++中的函数?
答案 0 :(得分:3)
要使用默认参数,您需要在缺少参数时提供要使用的默认值。所以这应该是有效的:
<input type="checkbox" (ngModelChange)="myModel=$event" [ngModel]="mymodel">
供参考,这里是doc link to QVector
default constructor。
上面假设,你不需要“没有给定矢量”和“给出空矢量”来表示不同的东西。如果你确实需要它们来表示不同的东西,那么你需要提供单独的重载:
Q_INVOKABLE void formPackets (unsigned char argPacketDescriptor,
unsigned char argNoOfBytes,
QVector<unsigned char> argBody = QVector<unsigned char>());
第三种Qt方式是将第三个参数传递为QVariant
。那么你可以让null QVariant
表示没有参数,而Q_INVOKABLE void formPackets (unsigned char argPacketDescriptor,
unsigned char argNoOfBytes,
QVector<unsigned char> argBody);
Q_INVOKABLE void formPackets (unsigned char argPacketDescriptor,
unsigned char argNoOfBytes);
,无论是否为空,意味着该参数存在。功能声明:
QVector
答案 1 :(得分:2)
您有两种选择:
在大多数情况下,我更喜欢第一种 - 它不太可能导致麻烦。