我有一个看起来像这样的类:
class MyClass {
public:
void drawText(const QString& rText);
void drawText(const std::string& rText);
};
我重载了该drawText()方法,因为我想接受QString以及std::string.
但是当我写这样的东西时:
MyClass foo;
foo.drawText("Hello");
编译器抱怨调用drawText()不明确。
我知道从 char 数组中,编译器无法在 aQString或 a之间做出决定std::string,因为两者都提供了合适的构造函数。
但是有没有办法让我确保用户可以drawText()通过传递 aQString或 astd::string或 char 数组来使用该方法?