Код: Выделить всё
module;
export module A;
export void foo(bool a) {}
export void foo(int a) {}
export template
struct call {
void (*fn)(T) = foo;
};
Код: Выделить всё
module;
export module B;
import A;
void foo(float a) {}
call c = {};
< /code>
Но Clang не удается с ошибкой: < /p>
error: address of overloaded function 'foo' does not match required type 'void (float)'
< /code>
правильно понимаю, что модули разрешают ADL только тем, что на самом деле видит этот модуль, например, Модуль A Подробнее здесь: https://stackoverflow.com/questions/796 ... -c-modules
Мобильная версия