คำถามติดแท็ก clang++

1
ชั้นไม่สามารถเข้าถึงวิธี constexpr คงที่ส่วนตัวของตัวเอง - ข้อผิดพลาดดังกราว?
รหัสนี้ไม่ได้รวบรวมใน Clang (6,7,8,9 ลำตัว) แต่รวบรวมได้ใน GCC (7.1, 8.1, 9.1): template<class T> struct TypeHolder { using type = T; }; template<int i> class Outer { private: template<class T> static constexpr auto compute_type() { if constexpr (i == 42) { return TypeHolder<bool>{}; } else { return TypeHolder<T>{}; } } public: template<class T> …

1
เหตุใดตัวแปร extern แบบโลคอลในบล็อกที่แตกต่างกันจึงได้รับการเชื่อมโยงที่แตกต่างกันระหว่างคอมไพเลอร์ใน c ++
ในขณะที่ฉันกำลังตรวจสอบว่ามีการเชื่อมโยงใด บ้างที่อนุญาตให้ตัวแปรท้องถิ่นภายนอกฉันพบว่าพฤติกรรมที่แตกต่างระหว่างคอมไพเลอร์ เช่นถ้าฉันทดสอบโค้ดด้านล่าง ตามที่คุณเห็นในตัวแปรข้อคิดเห็นvarมีลิงค์ต่างกัน // foo.cpp int var = 10; // external linkage // main.cpp #include <iostream> static int var = 100; // internal linkage int main() { extern int var; // internal linkage std::cout << var << std::endl; { extern int var; // g++: external linkage , clang++: internal …
12 c++  g++  clang++  extern  linkage 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.