私はこのようなクラスを持っています:
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の配列から、コンパイラーはaとaのQString
どちらかを決定できないことを理解しています。std::string
しかし、ユーザーがa 、a、またはcharの配列をdrawText()
渡すことによってメソッドを使用できることを確認する方法はありますか?QString
std::string