5

我正在使用 C++ 并希望创建一个带有可选参数的函数,即 QMap。问题是我将默认值设置为什么。我希望它是一张空地图。

void function(int i, QMap< QString, QString > MyMap = ???)

你放什么???

4

2 回答 2

3

问题:

你放什么???

  1. 您可以放置​​一个默认构造的对象。

    void function(int i, QMap< QString, QString > MyMap = QMap<QString, QString>())
    
  2. 您可以调用返回兼容对象的函数。

    QMap< QString, QString > const& foo();
    void function(int i, QMap< QString, QString > MyMap = foo())
    
于 2015-02-19T21:01:56.100 回答
0

您可以使用指向 QMap (QMap*) 的指针并将其默认为 NULL 值:

void function(int i, QMap< QString, QString > *MyMap = NULL)
{

}
于 2015-07-16T10:54:35.083 回答