ฉันเข้าใจว่าพารามิเตอร์เทมเพลตที่ไม่ใช่ประเภทควรเป็นนิพจน์อินทิกรัลคงที่ มีใครช่วยส่องทำไมถึงเป็นอย่างนั้น?
template <std::string temp>
void foo()
{
// ...
}
error C2993: 'std::string' : illegal type for non-type template parameter 'temp'.
ฉันเข้าใจว่านิพจน์ปริพันธ์คงที่คืออะไร อะไรคือสาเหตุที่ไม่อนุญาตประเภทที่ไม่คงที่เช่นstd::string
ในตัวอย่างข้างต้น