Описание тега implicit-cast

In C and C++, there is no such thing as an implicit cast. There are implicit and explicit *conversions*; a cast is explicit by definition. Consider using the "implicit-conversion" tag instead. (Other languages might define the word "cast" differently.)
1 ответ

PHP неявный вызов конструктора

Я написал класс, который инициализируется целым числом (что-то вроде оболочки для int): class MyClass { function __construct ($value) { // code, code, code } } Я также написал функцию, которая принимает объект этого класса в качестве параметра: clas…
28 окт '13 в 22:21
2 ответа

Ошибка компиляции при добавлении универсального объекта в список

Почему list.Add(new B()) компилировать и list.Add(new Wrapper<B>()) не компилировать? Я думал, что или оба, или ни один не скомпилируют, потому что я думал, что компилятор сможет выяснить, что неявное приведение B возвращает Wrapper<B> к…
29 май '13 в 15:07
2 ответа

Возможно ли получить автоматическое приведение из определенного пользователем типа в std::string, используя cout?

Как и в вопросе, если я определю строковый оператор в своем классе: class Literal { operator string const () { return toStr (); }; string toStr () const; }; и тогда я использую это: Literal l1 ("fa-2bd2bc3e0"); cout << (string)l1 << " De…
6 ответов

Выборочно отключить подпотребление в Scala? (правильно введите List.contains)

List("a").contains(5) Потому что Int никогда не может содержаться в списке String, это должно генерировать ошибку во время компиляции, но это не так. Тщательно и бесшумно проверяет каждый String содержится в списке на равенство 5, который никогда не…
02 дек '11 в 17:47
1 ответ

Ошибка в автоматическом преобразовании

class Sample { public: Sample(); Sample(int i); Sample(Sample& s); ~Sample(); }; Sample::Sample() { cout<<"Default constructor called\n"; } Sample::Sample(int i) { cout<<"1-argument constructor called\n"; } Sample::Sample(Sample&…
26 авг '12 в 12:12
2 ответа

Шаблоны C++ и проблема неоднозначности

У меня есть подмножество класса указателей, которые выглядят так: template <typename T> struct Pointer { Pointer(); Pointer(T *const x); Pointer(const Pointer &x); template <typename t> Pointer(const Pointer<t> &x); operato…
9 ответов

C++ полагаться на неявное преобразование в bool в условиях?

Я нашел следующее правило в листе стандартов кодирования: Не полагайтесь на неявное преобразование в bool в условиях. if (ptr) // неправильно if (ptr!= NULL) // нормально Насколько разумно / полезно это правило? Сколько перегрузок на скомпилированны…
25 авг '09 в 22:05
2 ответа

C# неявное приведение "перегрузка" и проблема отражения

У меня проблема со следующим кодом (который компилируется, но вылетает): using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Reflection; namespace ConsoleApplication1 { public struct MyBoolean { public …
21 дек '10 в 16:26
3 ответа

Неявное приведение from () к полю даты

У меня проблема с MySQL 5.1. Тип данных datetime неявно приводится к столбцу даты. SELECT * FROM my_table WHERE my_date_field = NOW() Этот запрос не возвращает строк с использованием MySQL 5.1, но хорошо работает с версией 5.0. Если мы используем CU…
27 апр '10 в 17:26
10 ответов

Почему неявное преобразование разрешено из суперкласса в подкласс?

Может кто-нибудь сказать мне, почему строка с "// Компилирует" компилируется, и почему строка с "// Не компилируется" нет? Я не понимаю, почему A будет неявно конвертируемым в B, а не наоборот. public class SomeClass { static public void Test() { AC…
3 ответа

Как использовать неявные и явные приведения?

Возможный дубликат: Определите неявное приведение и явное приведение int a = 2, b = 3; float f = 2.5; double d = -1.2; int int_result; float real_result; real_result = a * f; real_result = (float) a * b; d = a + b / a * f; d = f * b / a + a;
16 мар '10 в 02:18
3 ответа

Неявное преобразование из пользовательского типа в примитивный тип в C++

Я могу найти много информации о неявном преобразовании, скажем, из int в определенный пользователем тип. т. е. если конструктор принимает в качестве параметра int и перед ним не стоит "явный", то могут происходить неявные преобразования. Что если я …
28 дек '13 в 21:48
2 ответа

Неявная типизация для полей в C#

Я люблю неявную типизацию в C# для локальных переменных: var Beer = new Malt.Beer(); вместо: Malt.Beer Beer = new Malt.Beer(); Я не думаю, что это может быть распространено на поля, не так ли? public var Beer = new Malt.Beer(); вместо: public Malt.B…
23 сен '15 в 16:23
0 ответов

Проверка на равенство C# для универсальной оболочки с неявным приведением не работает для классов

Итак, у меня есть универсальный класс-оболочка с неявным приведением типа этого: public class Wrapper<T> { T _value; public Wrapper(T val) { _value = val; } static public implicit operator T(Wrapper<T> wrapper) { return wrapper._value; }…
26 янв '18 в 19:18
2 ответа

TypeScript: неявное число для перечисления

Почему следующий код компилируется в TypeScript? enum xEnum { X1,X2 } function test(x: xEnum) { } test(6); Разве это не должно выдать ошибку? ИМХО, это неявное приведение здесь неверно, нет? Вот ссылка на игровую площадку.
10 сен '14 в 10:15
3 ответа

Как в этом случае работает неявное приведение типов в SQL Server?

Когда я пытаюсь этот специальный запрос в SQL Server (предположим, UserId поле NVARCHAR): SELECT * FROM MyUser WHERE UserId = 123456 Я получаю эту ошибку: Сообщение 245, Уровень 16, Состояние 1, Строка 1 Синтаксическая ошибка при преобразовании знач…
19 ноя '10 в 16:49
7 ответов

C# enum to string автоконвертация?

Возможно ли, чтобы компилятор автоматически преобразовывал мои значения Enum в строки, чтобы я мог избежать явного вызова метода ToString каждый раз. Вот пример того, что я хотел бы сделать: enum Rank { A, B, C } Rank myRank = Rank.A; string myStrin…
09 июн '10 в 23:11
2 ответа

Неявное приведение C++

Рассмотрим этот случай: ClassA obA; ClassB obB; obA = obB; Правильно ли, что если ClassA имеет конструктор, который имеет параметр типа ClassB, это будет называться в этом случае? Если есть перегруженный оператор приведения ClassB - который преобраз…
27 апр '15 в 14:31
1 ответ

Есть ли какое-то преимущество в использовании Mapper против неявных операторов?

Mapper Automap: Mapper.CreateMap<ObjectType1, ObjectType2>() .ForMember(o1 => o1.PropName, mapper => mapper.MapFrom(o2 => o2.Prop2Name)); Mapper.Map(object1, object2); Неявный оператор: public static implicit operator Object1(Object2 …
10 мар '13 в 18:00
2 ответа

Неверное неявное приведение при приведении массива интерфейсов к массиву структур

У меня есть struct который реализует некоторые interface, Это работает нормально, пока у меня нет массива struct реализация и попытаться неявно привести этот массив к другому массиву interface тип. (См. Пример кода ниже) using System.Collections.Gen…