Câu hỏi được gắn thẻ «visual-c++»

Microsoft Visual C ++ là trình biên dịch C, C ++ và C ++ / CLI cho Windows. Phiên bản mới nhất của trình biên dịch là Visual C ++ 2019. Trình biên dịch hỗ trợ các ngôn ngữ sau: C (hỗ trợ C90 và hầu hết các phần C99 và C11 của tiêu chuẩn ISO C ++ kể từ Visual Studio 2019); C ++ (hỗ trợ cho hầu hết các tính năng C ++ 11, C ++ 14 và C ++ 17 và một số tính năng C ++ 20 kể từ Visual Studio 2019) C ++ / CLI (Cung cấp khả năng tương tác với các ngôn ngữ .NET như C #).




2
số int -> quy tắc chuyển đổi con trỏ
Hãy xem xét các mã sau đây. void f(double p) {} void f(double* p) {} int main() { f(1-1); return 0; } MSVC 2017 không biên dịch được điều đó. Nó chỉ ra rằng có một cuộc gọi quá tải mơ hồ, 1-1giống như 0và do đó có thể được …
19 c++  visual-c++  types 

1
Clang không biên dịch mã nhưng gcc và msvc đã biên dịch nó
Tôi không hiểu vấn đề là gì: trong mã của tôi hoặc trong trình biên dịch (ít có thể hơn). Có một đoạn mã như thế này: #include <iostream> #include <type_traits> #include <set> template<typename T, typename = void> struct TestA: std::false_type {}; template<typename T> struct TestA<T, std::void_t<typename T::reverse_iterator>> : std::true_type …

1
Lỗi trình biên dịch có thể có trong MSVC
Đoạn mã sau biên dịch với gcc và clang (và nhiều trình biên dịch C ++ 11 khác) #include <stdint.h> typedef int datatype; template <typename T> struct to_datatype {}; template <> struct to_datatype<int16_t> { static constexpr datatype value = 1; }; template <typename T> class data { public: data(datatype dt …
13 c++  c++11  visual-c++ 


3
Nullptr có thể được chuyển đổi thành uintptr_t không? Trình biên dịch khác nhau không đồng ý
Hãy xem xét chương trình này: #include <cstdint> using my_time_t = uintptr_t; int main() { const my_time_t t = my_time_t(nullptr); } Không thể biên dịch với msvc v19.24: <source>(5): error C2440: '<function-style-cast>': cannot convert from 'nullptr' to 'my_time_t' <source>(5): note: A native nullptr can only be converted to bool or, …
10 c++  c++11  gcc  visual-c++  clang 


1
Trình biên dịch có thể đặt việc thực hiện một hàm hủy ảo được khai báo ngầm trong một đơn vị dịch riêng biệt không?
Đoạn mã sau sẽ biên dịch và liên kết với Visual Studio(cả 2017 và 2019 với /permissive-), nhưng không biên dịch với một trong hai gcchoặc clang. foo.h #include <memory> struct Base { virtual ~Base() = default; // (1) }; struct Foo : public Base { Foo(); // (2) struct …
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.