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