Результаты поиска по запросу "implicit-conversion"
Почему компилятор выбирает эту функцию шаблона вместо перегруженной не шаблонной функции?
Используя VC ++ 2010, учитывая следующее: class Base { }; class Derived : public Base { }; template<class T> void foo(T& t); // A void foo(Base& base); // B Derived d; foo(d); // calls A foo(static_cast<Base&>(d)); // calls BЯ хотел бы, чтобы ...
Неявное преобразование при перегрузке операторов для шаблонных классов
Я хотел бы знать, почему неявное преобразование типов не работает с внешней перегрузкой операторов в шаблонах классов. Вот рабочая версия без шаблонов: class foo { public: foo() = default; foo(int that) {} foo& operator +=(foo rhs) { return ...
Перечисление и отображение с помощью Scala 2.10
Я пытаюсь перенести свое приложение на Scala 2.10.0-M2. Я вижу некоторые хорошие улучшения с лучшими предупреждениями от компилятора. Но я также получил кучу ошибок, все связанные с моим отображением изEnumeration.values. Я приведу простой ...
Несколько неявных преобразований для пользовательских типов не допускается?
class C { public: C() { } }; class B { public: B(C c) { } B() { } }; class A { public: A(bool b) { } A(B b) { } }; int main() { A a1 = true; // bool -> A is allowed A a2 = B(); // B -> A is allowed A a3 = 7; // int -> bool -> A is allowed A a4 = ...
Как мне избежать неявных преобразований на не конструирующих функциях?
Как избежать неявного приведения к неконструктивным функциям? У меня есть функция, которая принимает целое число в качестве параметра, но эта функция также принимает символы, bools и longs. Я полагаю, что это делает это, неявно бросая их. Как ...
Опция getOrElse Тип ошибки несоответствия
Почему этот код вызывает ошибку несоответствия типов в Scala 2.9.2? Я ожидал чтоgetOrElse возвращает типString но на самом деле это возвращаетjava.io.Serializable: scala> implicit def StringToOption(s:String) = Option(s) StringToOption: ...
неявный оператор с использованием интерфейсов
У меня есть универсальный класс, для которого я пытаюсь реализовать неявное приведение типов. Хотя это в основном работает, оно не будет работать для приведения интерфейса. После дальнейшего изучения я обнаружил, что существует ошибка ...
Почему строковый литерал может быть неявно преобразован в char * только в определенном случае? [Дубликат]
На этот вопрос уже есть ответ здесь: Почему передача строкового литерала в аргумент char * только иногда приводит к ошибке компилятора? [/questions/2760500/why-is-passing-a-string-literal-into-a-char-argument-only-sometimes-a-compiler] 6 ...
Почему помощник Linq Cast <> не работает с неявным оператором приведения?
Пожалуйста, прочтите до конца, прежде чем принимать решение о голосовании в двух экземплярах ... У меня есть тип, который реализуетimplicit cast Оператор другого типа: class A { private B b; public static implicit operator B(A a) { return a.b; ...
Индексирование std :: vector с отрицательным индексом
Я пытался проиндексироватьvector используя отрицательный индекс.vector::at() Функция-член проверяет, находится ли указанный индекс в пределах вектора, и если этого не происходит,out_of_range исключение брошено. vector<float> array; // sample ...