คำถามติดแท็ก visual-c++

Microsoft Visual C ++ เป็นคอมไพเลอร์ C, C ++ และ C ++ / CLI สำหรับ Windows เวอร์ชันล่าสุดของคอมไพเลอร์คือ Visual C ++ 2019 คอมไพเลอร์รองรับภาษาต่อไปนี้: C (รองรับ C90 และ C99 และ C11 ส่วนใหญ่ของมาตรฐาน ISO C ++ ใน Visual Studio 2019); C ++ (รองรับฟีเจอร์ C ++ 11, C ++ 14 และ C ++ 17 ส่วนใหญ่และฟีเจอร์ C ++ 20 บางส่วนใน Visual Studio 2019) C ++ / CLI (ให้การทำงานร่วมกันกับภาษา. NET เช่น C #)

3
สามารถแปลง nullptr เป็น uintptr_t ได้หรือไม่ คอมไพเลอร์ไม่เห็นด้วย
พิจารณาโปรแกรมนี้: #include <cstdint> using my_time_t = uintptr_t; int main() { const my_time_t t = my_time_t(nullptr); } ไม่สามารถคอมไพล์ด้วย 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, using reinterpret_cast, to an integral type <source>(5): error C2789: …
10 c++  c++11  gcc  visual-c++  clang 

1
MSVC เทียบเท่าสำหรับ -fno-char8_t คืออะไร
ใน C ++ 20 u8ตัวอักษรสตริงจะขึ้นอยู่กับchar8_tประเภท พวกเขาจงใจไม่แปลงเป็นchar const*อีกต่อไป: const char* str = u8"Hall\u00f6chen \u2603"; // no longer valid in C++20 แน่นอนว่าเป้าหมายสูงสุดเมื่อย้ายไปยัง C ++ 20 คือไปกับพฤติกรรมใหม่ทั้งหมด (ในตัวอย่างด้านบน: เปลี่ยนประเภทของstr) อย่างไรก็ตามเนื่องจากห้องสมุดของบุคคลที่สามจึงไม่สามารถทำได้ในทันที ข้อเสนอที่แนะนำและ"แก้ไข" char8_tคาดการณ์และกล่าวถึงในเสียงดังกราวและ gcc ว่ามีการ-fno-char8_tเปลี่ยนสถานะกลับเป็นพฤติกรรมเก่า (ในขณะที่ยังคงสามารถเพลิดเพลินกับคุณลักษณะ C ++ 20 อื่น ๆ ) ข้อเสนอที่ 2 ตั้งค่าความคาดหวังที่ Microsoft จะติดตามและเพิ่มการตั้งค่าสถานะที่คล้ายกัน แต่ฉันไม่สามารถค้นหาวิธีการตั้งค่าได้ (อย่างน้อยใน VS 2019 เวอร์ชัน 16.4) ดังนั้นใครจะรู้ว่าสิ่งที่เทียบเท่า …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.