Als «implicit-conversion» getaggte Fragen

Konvertieren eines Objekts, einer Variablen oder eines Werts von einem Typ in einen anderen, um eine Typbeschränkung zu erfüllen, ohne diese Konvertierung speziell über die Sprachsyntax anzufordern.

2
Wo sucht Scala nach Implikaten?
Eine implizite Frage an Scala-Neulinge scheint zu sein: Wo sucht der Compiler nach Impliziten? Ich meine implizit, weil die Frage nie vollständig formuliert zu sein scheint, als gäbe es keine Worte dafür. :-) Woher kommen zum Beispiel die Werte für integralunten? scala> import scala.math._ import scala.math._ scala> def foo[T](t: T)(implicit …

4
Die implizite Objective-C-Konvertierung verliert die Ganzzahlgenauigkeit 'NSUInteger' (auch bekannt als 'unsigned long') in die Warnung 'int'
Ich arbeite an einigen Übungen und habe eine Warnung erhalten, die besagt: Die implizite Konvertierung verliert an ganzzahliger Genauigkeit: 'NSUInteger' (auch bekannt als 'unsigned long') in 'int' #import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { @autoreleasepool { NSArray *myColors; int i; int count; myColors = @[@"Red", @"Green", …




5
Wie funktioniert `is_base_of`?
Wie funktioniert der folgende Code? typedef char (&yes)[1]; typedef char (&no)[2]; template <typename B, typename D> struct Host { operator B*() const; operator D*(); }; template <typename B, typename D> struct is_base_of { template <typename T> static yes check(D*, T); static no check(B*, int); static const bool value = sizeof(check(Host<B,D>(), …

2
Verhindern Sie, dass die Funktion const std :: string & 0 akzeptiert
Mehr als tausend Worte: #include<string> #include<iostream> class SayWhat { public: SayWhat& operator[](const std::string& s) { std::cout<<"here\n"; // To make sure we fail on function entry std::cout<<s<<"\n"; return *this; } }; int main() { SayWhat ohNo; // ohNo[1]; // Does not compile. Logic prevails. ohNo[0]; // you didn't! this compiles. return …

3
Implizite Konvertierung vs. Typklasse
In Scala können wir mindestens zwei Methoden verwenden, um vorhandene oder neue Typen nachzurüsten. Angenommen, wir möchten ausdrücken, dass etwas mit einem quantifiziert werden kann Int. Wir können das folgende Merkmal definieren. Implizite Konvertierung trait Quantifiable{ def quantify: Int } Und dann können wir implizite Konvertierungen verwenden, um z. B. …



3
Wie kann ich Implizite in Scala verketten?
Das pimp-my-library-Muster ermöglicht es mir, einer Klasse scheinbar eine Methode hinzuzufügen, indem ich eine implizite Konvertierung von dieser Klasse in eine Klasse zur Verfügung stelle, die die Methode implementiert. Scala erlaubt jedoch nicht, dass zwei solche impliziten Konvertierungen stattfinden, sodass ich nicht Adazu kommen kann C, ein implizites Azu Bund …

2
Implizite Regeln für die Typwerbung
Dieser Beitrag soll als FAQ zur impliziten Ganzzahl-Heraufstufung in C verwendet werden, insbesondere zur impliziten Heraufstufung, die durch die üblichen arithmetischen Konvertierungen und / oder die Ganzzahl-Heraufstufungen verursacht wird. Beispiel 1) Warum ergibt dies eine seltsame, große Ganzzahl und nicht 255? unsigned char x = 0; unsigned char y = …

4
Implizite Konvertierung bei Rückgabe nicht zulässig
#include <optional> bool f() { std::optional<int> opt; return opt; } Kompiliert nicht: 'return': cannot convert from 'std::optional<int>' to 'bool' Beratungsreferenz Ich hätte gedacht, eine Erklärung zu finden, aber ich habe sie gelesen, da es in Ordnung sein sollte. Implizite Konvertierungen werden immer dann durchgeführt, wenn ein Ausdruck eines Typs T1 …


2
Der Aufruf von Lambda ist trotz expliziter Angabe des Rückgabetyps nicht eindeutig
Eine überladene Funktion sollte beide Funktoren aufnehmen, da der Lambda-Typ entscheidbar ist (umsetzbar auf einen std::function(bitte korrigieren Sie mich, wenn ich falsch liege). Die Frage ist: Warum gibt es unten einen Kompilierungsfehler, obwohl der Lambda-Typ explizit ist definiert? ( [&]() -> Type {}) Bitte beachten Sie, dass ich für meine …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.