2017-10-06 17 views
4

現在、私は "connect"というメソッドを持っているクラスで作業しています。また、winsock関数 "connect"を呼び出しています。これはもちろん、コンパイラが私にエラーを与える原因となります。なぜなら、コンパイラは何をするのか分からないからです。C++の外部関数名オーバーラップ

どのようにすれば、このような名前付け問題に最適な方法で対処できますか?

何が起きているのかを記述しているので、メソッド名を保存したいと思います。

私はwinsock関数 "connect"の名前を制御することはできません。私が持っていたとしても、名前を変更するのはあまり意味がないと思います。

私はかなりこれが何か他の人に答えられていると確信していますが、私はそれを見つけるにはあまりにも愚かでした。

+0

ソケット関数を明示的に ':: connect()'と呼ぶことができます。 –

+0

また、 'this-> connect()'を使ってクラス関数を使用してください。 –

+2

ありがとうございました。 – Simerax

答えて

4

winsock標準関数を呼び出している間は、関数名の前にスコープ解決演算子::を使用できます。すなわち

::connect(....params....); 

そして、あなたはあなたのクラスの関数を呼び出したいときは、方法は次のクラスの関数を呼び出すことができます -

this->connect(...params...); 

を、私は解決策は、将来ようなコメントをint提案にまとめていることに注意してくださいユーザーはヘルプを得ることができます。

関連する問題