पर विचार करें:सी ++ वाक्य रचना अस्पष्टता
void f(std::pair<bool,bool> terms = std::pair<bool,bool>(1,1)) {}
जीसीसी 4.4 ठीक है, जीसीसी 4.3 error: expected ',' or '...' before '>' token
शिकायत। फिक्स है:
void f(std::pair<bool,bool> terms = (std::pair<bool,bool>(1,1))) {}
क्या कारण है? क्या यह 4.3 में एक बग है?
यह सबसे अप्रिय पार्स से संबंधित कुछ (http://en.wikipedia.org/wiki/Most_vexing_parse) की तरह लगता है। 'Std :: जोड़ी शब्द = std :: make_pair (सत्य, सत्य) 'के बारे में क्या? –
बूलियन के लिए '1' का उपयोग क्यों करें? अंक और बूलियन मिश्रण न करें, वास्तव में:/ –