के आधार पर निम्न कोड ठीक है, एक निरंतर अभिव्यक्ति में प्रयोग करने योग्य है: अगर test
के प्रकार const int
से const double
करने के लिए बदल जाता है,एक स्थिरांक चर का मान है या नहीं वैरिएबल प्रकार
constexpr double square_cstxpr(double x) { return x * x; }
int main() {
const int test = 5;
constexpr double result = square_cstxpr((double)test);
}
हालांकि , g ++ निम्न त्रुटि देता है: the value of 'test' is not usable in a constant expression
। http://coliru.stacked-crooked.com/a/2fe9b176c2b23798
किसी कि व्यवहार समझा सकते हैं:
कोड और यहाँ जी के ++ उत्पादन देखते हैं?
कृपया उस कोड को जोड़ें जो इसे वर्णित करने के बजाय संकलित नहीं करता है। – molbdnilo
@molbdnilo coliru के लिए एक लिंक है। – Zereges
मेरे लिए ठीक बनाता है! – Geek