1
我有一個類,它看起來像這樣:法的QString或std ::字符串超載:調用不明確
class MyClass {
public:
void drawText(const QString& rText);
void drawText(const std::string& rText);
};
我重載drawText()
方法,因爲我想接受QString
以及std::string
。
但是,當我寫的東西是這樣的:
MyClass foo;
foo.drawText("Hello");
編譯器抱怨調用drawText()
是模糊的。
據我所知,從字符數組,編譯器不能一QString
或std::string
之間決定,因爲兩者都提供一個合適的構造。
但是,有沒有辦法,我以確保用戶可以通過傳遞QString
或std::string
或字符數組使用drawText()
方法?
您正在使用QT,爲什麼不使用QString並且不使用std功能?將2個具有相似功能的庫合併在一起,會在後面咬你。 – RvdK 2012-02-10 10:51:19
我通常只使用QString,我可以堅持下去,但我的問題更多是因爲好奇心。 – 2012-02-10 11:05:04