क्या किसी को पता है कि टिप्पणी की गई रेखा संकलन में विफल क्यों होती है लेकिन असम्बद्ध पंक्ति ठीक है?निर्माण पर नामित std :: स्ट्रिंग को संशोधित करना संभव है?
main.cpp: In function ‘int main()’:
main.cpp:5: error: expected ‘,’ or ‘;’ before ‘.’ token
कोई व्याख्या कर सकते हैं नियम बनाम नामित std::string
वस्तुओं गुमनाम संशोधित करने का अधिकार है, जहां वे निर्माण कर रहे हैं के बारे में क्या कर रहे हैं:
#include <iostream>
int main()
{
// std::string foo("hello").erase(2); // This doesn't compile...
std::string("hello").erase(2); // ...but this does.
}
टिप्पणी की लाइन भी शामिल है इस त्रुटि का कारण बनता है?
एक घोषणा एक अभिव्यक्ति नहीं है, यही कारण है कि। –
वही कारण जो आप लिख नहीं सकते 'शून्य एफ (int i) (5); '। – immibis
@KerrekSB 'std :: स्ट्रिंग foo (" हैलो ")' एक घोषणा नहीं है (यह एक * प्रकार-विनिर्देशक * और एक * घोषणाकर्ता * है)। घोषणा उन चीजों के बाद होगी; '''। –