Результаты поиска по запросу "overload-resolution"

2 ответа

Разрешение перегрузки / неоднозначность в поиске имени (какой)

7,3,3 / 14 (C ++ 03)

1 ответ

Устранение неоднозначности в перегруженном шаблоне функции с помощью `std :: enable_if` и невосстановленного контекста

3 ответа

 чтобы увидеть полный набор правил, необходимых

арты High Integrity C ++ предполагают, что r-значение аргументов функций может быть удалено, что предотвращает неявные преобразования.http://www.codingstanda...

ТОП публикаций

1 ответ

), но вы все еще загромождаете вывод ошибок несущественными вещами. Используя эталонную версию, вы избегаете рассматривать копии в целом и сосредотачиваетесь только на том, что на самом деле имеете в виду.

могу определить шаблон функции, чтобы предотвратить неявные преобразования?Кажется, я могу предотвратить неявные преобразования, используя не шаблонные функц...

0 ответов

Таким образом, способ исправить это по умолчанию аргумент (возвращаемый тип не учитывается):

лятор Microsoft (Visual Studio 2017 15.2) отклоняет следующий код: #include <type_traits> struct B { template<int n, std::enable_if_t<n == 0, int> = 0> void f() { } }; struct D : B { using B::f; template<int n, std::enable_if_t<n == 1, int> = 0> ...

2 ответа

, [...]

орое время назад меня смутило следующее поведение некоторого кода, когда я хотел написатьis_callable<F, Args...> черта характера. Разрешение перегрузки не вызовет функции, принимающие аргументы неконстантным ref, верно? Почему это не отклоняется ...

1 ответ

 то, что вы описали, это шаблоны в C ++

етил это на днях, скажем, у вас есть два перегруженных метода: public void Print<T>(IEnumerable<T> items) { Console.WriteLine("IEnumerable T"); } public void Print<T>(T item) { Console.WriteLine("Single T"); }Этот код: public void TestMethod() ...

2 ответа

Спасибо, Джаред, когда он прочитал это снова, я понял смысл.

мер, у вас есть такой тип: public class EffectOptions { public EffectOptions ( params object [ ] options ) {} public EffectOptions ( IEnumerable<object> options ) {} public EffectOptions ( string name ) {} public EffectOptions ( object owner ) ...

2 ответа

 больше не должен быть применимым членом функции для вызова. Очевидно, что то, что я только что сказал, неверно, но ваш ответ, похоже, не решает эту проблему (так, как я понимаю).

ющий вызов перегруженEnumerable.Select [http://msdn.microsoft.com/en-us/library/system.linq.enumerable.select.aspx] метод: var itemOnlyOneTuples = "test".Select<char, Tuple<char>>(Tuple.Create);терпит неудачу с ошибкой неоднозначности ...

2 ответа

 анализируется соответственно.

ющий код завершается ошибкой, как и ожидалось, потому что нет перегрузкиget найден. С помощьюstd::getрешит проблему. #include <array> int main() { std::array<int, 2> ar{2,3}; auto r = get<0>(ar);//fails, get was not declared in this scope }Тем ...