1
ตัวแปรอินไลน์สามารถเปลี่ยนแปลงได้หลังจากการเริ่มต้นใน C ++ 17 หรือไม่
สถานการณ์ของฉันเป็นดังต่อไปนี้ (มันทำงานในเสียงดังกราว แต่ไม่ได้อยู่ใน gcc) liba.hpp: inline int MY_GLOBAL = 0; libother.cpp: (dll) #include "myliba.hpp" void myFunc() { // MYGLOBAL = 28; } someexe.cpp: RunAppThatUsesBothLibAandLibOther(); ปัญหาคือตัวแปรอินไลน์แสดง 0 ในสถานที่ที่ฉันคาดไว้ 28 เพราะมันถูกแก้ไขอย่างมากในเวลาทำงาน MSVC ไม่เห็นด้วยกับสิ่งนี้ แต่เสียงดังทำตามที่ฉันคาดไว้ คำถามคือ: สามารถแก้ไขตัวแปรอินไลน์ในเวลาทำงานในสถานการณ์ของฉันได้หรือไม่ (ฉันแก้ไขปัญหาโดยการลบตัวแปรออกไป)
11
c++
visual-c++
dll
clang
c++17