Pytania otagowane jako name-lookup


4
Dlaczego ADL nie znajduje szablonów funkcji?
Która część specyfikacji C ++ ogranicza wyszukiwanie zależne od argumentów od znajdowania szablonów funkcji w zestawie powiązanych przestrzeni nazw? Innymi słowy, dlaczego ostatnie wywołanie mainponiżej nie daje się skompilować? namespace ns { struct foo {}; template<int i> void frob(foo const&) {} void non_template(foo const&) {} } int main() { ns::foo …

2
Dlaczego ta funkcja szablonu nie działa zgodnie z oczekiwaniami?
Czytałem o funkcjach szablonów i ten problem mnie pomieszał: #include <iostream> void f(int) { std::cout << "f(int)\n"; } template<typename T> void g(T val) { std::cout << typeid(val).name() << " "; f(val); } void f(double) { std::cout << "f(double)\n"; } template void g<double>(double); int main() { f(1.0); // f(double) f(1); // …

3
Czy w przypadku definicji funkcji członka poza linią wymagana jest w pełni kwalifikowana nazwa klasy do zasięgu globalnego?
To pytanie sprawiło, że zastanawiałem się, czy kiedykolwiek przydatne / konieczne jest pełne kwalifikowanie nazw klas (w tym operatora zasięgu globalnego) w definicji funkcji członka poza klasą. Z jednej strony nigdy wcześniej tego nie widziałem (a składnia, aby to zrobić, wydaje się niejasna). Z drugiej strony wyszukiwanie nazw w C …
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.