【发布时间】:2017-05-16 01:53:20
【问题描述】:
我的应用中有一些代码以简化形式显示:
QVariantMap deviceMap;
deviceMap.insert("Model", pDevice->Type());
QJsonDocument jsonDoc = QJsonDocument::fromVariant(deviceMap);
QString str = jsonDoc.toJson(QJsonDocument::Compact);
我刚刚发现了一个错误,有人将函数 Type() 从:
QString Type() const;
到:
int Type() const;
显然 Qt 对此很好,只是将其转换为导致错误的 JSON。但是当像这样更改类型时,我宁愿得到一个编译器错误。如果将来函数的返回发生变化,我该如何更改它以便我得到编译器错误?
【问题讨论】:
-
您想特别检查
pDevice->Type()的类型,还是一般的功能更改? -
只要它是有效的 C++,编译器就会愉快地编译它。你需要的是Unit Tests!