Описание тега explicit-conversion

Этот тег связан с ключевым словом C++ ʻExplicit`.
2 ответа

C# явные операторы преобразования

Здравствуйте, мне нужна помощь:) У меня есть свой собственный класс Filters, и внутри него я определил явный оператор преобразования для преобразования из AForge.Point в System.Drawing.PointF, и AForge.Point, и System.Drawing.PointF являются структу…
10 май '15 в 13:47
1 ответ

Ошибка преобразования при выполнении хранимой процедуры SQL Server из Access ADODB

Следующий код хранится в процедуре на SQL Server 2008 и выполняется с использованием ADODB в MS Access; Я получаю следующую ошибку при попытке выполнить его в Access... Ошибка времени выполнения -2147217913 (80040e07) [Microsoft] [Драйвер ODBC SQL S…
1 ответ

Явное приведение типов C# класса в C++/CLI

У меня есть структура "JulianDate", которую я написал на C#, и у нее есть собственный явный оператор DateTime из библиотеки.NET. Я использовал этот явный оператор несколько раз в моем коде C#, и он работает без проблем. Теперь я хочу использовать то…
10 фев '15 в 09:26
2 ответа

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

Отредактировано после прочтения, измененный вопрос, чтобы быть более конкретным. Согласно документации Microsoft: Выражение is оценивается как true, если предоставленное выражение не является нулевым, и предоставленный объект может быть приведен к п…
1 ответ

Преобразование итераторов и const_iterators

Общий контекст: Я пытаюсь создать контейнер, который будет вести себя как оболочка вокруг многомерного массива заданных во время выполнения измерений - фактически базовый массив, конечно, является одномерным массивом общего размера. Основная часть з…
1 ответ

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

Недавно я наткнулся на явный конструктор, который получает один аргумент указателя. Интересно, нужно ли в этом случае явное ключевое слово? поскольку для указателя нет конструктора, не может быть и неявного преобразования. class Foo { public: explic…
10 окт '17 в 09:32
1 ответ

Явное и неявное преобразование

Я очень удивлен, что это struct, который только явно конвертируется в bool, прекрасно работает внутри if заявление: struct A { explicit operator bool( ) const { return m_i % 2 == 0; } int m_i; }; int main() { A a{ 10 }; if ( a ) // this is considere…
2 ответа

Допускается использование нескольких явных системных преобразователей, но явных преобразователей для нескольких пользователей - нет. Зачем?

Если у меня есть этот код, он скомпилируется и будет работать как следует: class MyNumber // Just a class. { static public explicit operator MyNumber(byte b) { return new MyNumber(); } } Decimal d = new Decimal(); MyNumber c1 = (MyNumber)d; Поражени…
0 ответов

Защищенные операторы наследования, преобразования и преобразования

Я пытаюсь использовать protected наследование, чтобы скрыть C-стиль struct члены. Делая это, мой вывод class теперь может получить доступ ко всему от struct скрывая его от остальной части программы, но это имеет свою цену: компилятор больше не позво…
05 авг '14 в 08:15
6 ответов

Зачем переключаться и если операторы ведут себя по-разному с операторами преобразования?

Почему switch а также if операторы ведут себя по-разному с операторами преобразования? struct WrapperA { explicit operator bool() { return false; } }; struct WrapperB { explicit operator int() { return 0; } }; int main() { WrapperA wrapper_a; if (wr…
3 ответа

Явный оператор приведения применяется к экземпляру, созданному с помощью отражения

Я был удивлен, когда обнаружил, что следующий код генерирует исключение во время выполнения: class A { public string Name { get; set; } public A() { Name = "Class A"; } } class B { public string Name { get; set; } public B() { Name = "Class B"; } pu…
02 авг '11 в 12:13
2 ответа

Float To Integer Casting?

Я знаю, что число с плавающей запятой не может точно представлять каждое число, поэтому обязательно произойдет какая-то ошибка. Но недавно я столкнулся с проблемой, и я не понимаю объяснения правильно. Пожалуйста, объясните мне шаг за шагом, как пре…
2 ответа

Почему / когда важно указывать оператор как явный?

Я заимствовал приведенный ниже код из другого вопроса (слегка измененного), чтобы использовать в моем коде: internal class PositiveDouble { private double _value; public PositiveDouble(double val) { if (val < 0) throw new ArgumentOutOfRangeExcept…
25 сен '14 в 19:37
3 ответа

Во что я должен явно конвертировать этот тип?

С этим кодом: UnitReportPairGenerateValsModel.GenerateVals generateVals = (from DataRow row in UnitReportPairGenerateValsDT.Rows select new UnitReportPairGenerateValsModel.GenerateVals { DayOfMonth = Convert.ToInt32(row["DayOfMonth"]), PatternOrdina…
1 ответ

Приоритет и неоднозначность шаблонов операторов явного преобразования

Я играл с шаблонными операторами явного преобразования в моем проекте, чтобы реализовать явное преобразование из пользовательского варианта-подобного типа. Минимальный пример, воспроизводящий мою проблему, выглядит следующим образом (в режиме C++14)…
2 ответа

Оператор неявного / явного преобразования не вызывается атрибутом (System.ComponentModel.DataAnnotation.dll)

У нас есть собственный тип LocalizedString, используемый в нашей модели предметной области. Мы хотим украсить свойства с атрибутами проверки, такими как MaxLength, Для этого мы добавили неявные операторы для включения приведений, требуемых этим атри…
2 ответа

Изменяет ли явное преобразование объект?

Делает ли явное преобразование как (string)object изменит сам объект? Когда я пишу код в Visual C# в ASP.NET, я встретил странную вещь: Я печатаю: NameValueCollection coll; coll = Request.ServerVariables; LoginStatue1.Text += coll.GetValues("REMOTE_…
3 ответа

Странное поведение с наследованием в C#

Я довольно новичок в C#, поэтому я надеюсь, что если мой вопрос звучит глупо, прошу прощения за мое невежество. - Я пытался Inheritance фундамент с C# и обнаружил, что он ведет себя странным образом, поэтому я решил проверить Javaи я получил ожидаем…
4 ответа

Явное / неявное преобразование типов C++

У меня есть строка кода double i = 1 + (long)1.5* 5.0f Мой вопрос: каков порядок конвертации и результат? Поиск таких примеров, но безрезультатно. Есть ли хорошие гиды, которые могут помочь мне понять это?
3 ответа

В C++ можем ли мы использовать { } для приведения в C-Style?

Пока я читал о преобразовании типов данных, я видел этот пример: void intval() { for (char c; cin >> c; ) cout << "the value of '" << c << "' is " << int{c} << '\n'; } Я знаю, что мы можем использовать: int(c) (in…