- #include <iostream> 
- #include <string> 
-   
- void fun1( const std::string& strParm ) 
- { 
- 	std::cout << "In [void fun1( const std::string& strParm )] :: " << strParm << std::endl; 
- } 
-   
-   
- void fun2( std::string& strParm ) 
- { 
- 	std::cout << "In [void fun2( std::string& strParm )] :: " << strParm << std::endl; 
- } 
-   
- int main()  
- { 
- 	std::string strValue1 = "Hello "; 
- 	std::string strValue2 = "World!!!"; 
-   
- 	fun1( strValue1 + strValue2 );	// Ok 
- 	fun2( strValue1 );				// Ok 
- 	fun2( strValue1 + strValue2 );	// Compilation error 
- 	return 0; 
- } 
				I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgoKdm9pZCBmdW4xKCBjb25zdCBzdGQ6OnN0cmluZyYgc3RyUGFybSApCnsKCXN0ZDo6Y291dCA8PCAiSW4gW3ZvaWQgZnVuMSggY29uc3Qgc3RkOjpzdHJpbmcmIHN0clBhcm0gKV0gOjogIiA8PCBzdHJQYXJtIDw8IHN0ZDo6ZW5kbDsKfQoKCnZvaWQgZnVuMiggc3RkOjpzdHJpbmcmIHN0clBhcm0gKQp7CglzdGQ6OmNvdXQgPDwgIkluIFt2b2lkIGZ1bjIoIHN0ZDo6c3RyaW5nJiBzdHJQYXJtICldIDo6ICIgPDwgc3RyUGFybSA8PCBzdGQ6OmVuZGw7Cn0KCmludCBtYWluKCkgCnsKCXN0ZDo6c3RyaW5nIHN0clZhbHVlMSA9ICJIZWxsbyAiOwoJc3RkOjpzdHJpbmcgc3RyVmFsdWUyID0gIldvcmxkISEhIjsKCQoJZnVuMSggc3RyVmFsdWUxICsgc3RyVmFsdWUyICk7CS8vIE9rCglmdW4yKCBzdHJWYWx1ZTEgKTsJCQkJLy8gT2sKCWZ1bjIoIHN0clZhbHVlMSArIHN0clZhbHVlMiApOwkvLyBDb21waWxhdGlvbiBlcnJvcgoJcmV0dXJuIDA7Cn0=