私はADLをトリガーするデフォルトの引数を期待して次のコードを書いています。それは(私は代わりにコンパイラのエラーを持っていません)。
ADLをトリガするために明示的な引数が必要ですか?引数依存ルックアップがデフォルト引数で機能しないのはなぜですか?
#include <iostream>
namespace sheldon
{
enum FLAG{ USA , UK , EU };
void fun(FLAG f = USA)
{
std::cout << "Fun with flags!" << std::endl;
}
}
int main()
{
fun(); // Does not compile
// fun(sheldon::USA); // compiles
}
まあ...引数なしでADLをトリガすることはできません。明確にするために、「引数」は、関数が呼び出されたときに渡される実際の値/参照を参照し、関数がその宣言で指定する名前/型である「パラメータ」を参照します。 – nephtes
@JohnKugelman親切にありがとう、やってます。引数依存ルックアップのADL標準 – nephtes
それは名前のすべてです... – Barry