Pertanyaan yang diberi tag «implicit-conversion»

Mengonversi objek, variabel, atau nilai dari satu jenis ke jenis lainnya untuk memenuhi pembatasan jenis, tanpa secara khusus meminta konversi tersebut melalui sintaks bahasa.

2
Di mana Scala mencari implisit?
Sebuah implisit pertanyaan untuk pendatang baru untuk Scala tampaknya menjadi: di mana melakukan compiler mencari implicits? Maksud saya implisit karena pertanyaannya sepertinya tidak pernah terbentuk sepenuhnya, seolah-olah tidak ada kata-kata untuk itu. :-) Misalnya, dari mana nilai-nilai untuk di integralbawah ini berasal? scala> import scala.math._ import scala.math._ scala> def foo[T](t: …

4
Konversi implisit Objective-C kehilangan presisi integer 'NSUInteger' (alias 'unsigned long') menjadi peringatan 'int'
Saya sedang mengerjakan beberapa latihan dan mendapat peringatan yang menyatakan: Konversi implisit kehilangan presisi integer: 'NSUInteger' (alias 'unsigned long') menjadi 'int' #import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { @autoreleasepool { NSArray *myColors; int i; int count; myColors = @[@"Red", @"Green", @"Blue", @"Yellow"]; count = myColors.count; // …


7
Mengapa saya bisa lulus 1 sebagai pendek, tetapi bukan variabel int saya?
Mengapa Tulis pertama dan kedua berfungsi tetapi bukan yang terakhir? Apakah ada cara saya bisa mengizinkan mereka bertiga dan mendeteksi apakah itu 1, (int) 1 atau saya lewat? Dan benar-benar mengapa satu diperbolehkan tetapi yang terakhir? Yang kedua diizinkan tetapi bukan yang terakhir benar-benar menghantam pikiran saya. Demo untuk menampilkan …


5
Bagaimana cara kerja `is_base_of`?
Bagaimana cara kerja kode berikut? 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
Cegah fungsi mengambil const std :: string & dari menerima 0
Senilai seribu kata: #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 0; …

3
Konversi implisit vs. kelas jenis
Di Scala, kita dapat menggunakan setidaknya dua metode untuk retrofit tipe yang sudah ada atau yang baru. Misalkan kita ingin menyatakan bahwa sesuatu dapat dikuantifikasi menggunakan Int. Kita dapat mendefinisikan sifat berikut. Konversi implisit trait Quantifiable{ def quantify: Int } Dan kemudian kita dapat menggunakan konversi implisit untuk mengukur misalnya …


10
Mengapa printf ("% f", 0); berikan perilaku yang tidak terdefinisi?
Pernyataan printf("%f\n",0.0f); mencetak 0. Namun demikian, pernyataan tersebut printf("%f\n",0); mencetak nilai acak. Saya menyadari bahwa saya menunjukkan semacam perilaku yang tidak jelas, tetapi saya tidak tahu mengapa secara spesifik. Nilai floating point di mana semua bitnya 0 masih valid floatdengan nilai 0. floatdan intberukuran sama pada mesin saya (bahkan jika …

4
Konversi tersirat tidak diizinkan untuk dikembalikan
#include <optional> bool f() { std::optional<int> opt; return opt; } Tidak mengkompilasi: 'return': cannot convert from 'std::optional<int>' to 'bool' Referensi konsultasi Saya akan berpikir untuk menemukan penjelasan, tetapi saya membacanya sebagaimana mestinya ok. Konversi tersirat dilakukan setiap kali ekspresi dari beberapa tipe T1 digunakan dalam konteks yang tidak menerima tipe …


2
Panggilan ke lambda tidak jelas meskipun secara eksplisit menyatakan jenis pengembalian
Fungsi kelebihan beban harus mengambil kedua functors, mengingat jenis lambda adalah decidable (castable to a std::function (tolong perbaiki saya jika saya salah). Pertanyaannya adalah: Mengapa ada kesalahan kompilasi di bawah, meskipun jenis lambda secara eksplisit didefinisikan? ( [&]() -> Type {}) Harap dicatat, bahwa untuk solusi saya saat ini, saya …

3
Cara menghindari konversi implisit dari int (0) ke penunjuk dalam vektor
Ada situasi di mana saya ingin mengumpulkan semua nama node jalur ke kunci di JSON. Pertimbangkan kondisi indeks array "0", "1" juga diperbolehkan, tetapi mudah untuk melupakan tanda kutip, yang akan menyebabkan crash ketika melakukan dereference. Jadi saya ingin menolak ini. Contoh: #include <vector> #include <iostream> int func(const std::vector<const char*>& …
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.