| 123456789101112131415161718192021222324252627282930313233343536 | #include <string>template <typename... Args>std::string cmStrCat(Args&&... args){  return "";}std::string a = "This is a string variable";std::string b = " and this is a string variable";std::string concat;// Correction neededvoid test1(){  concat = cmStrCat(a, b);  concat = cmStrCat(a, " and this is a string literal");  concat = cmStrCat(a, 'O');  concat = cmStrCat("This is a string literal", b);  concat = cmStrCat('O', a);  concat = cmStrCat(a, " and this is a string literal", 'O', b);  concat = cmStrCat(concat, b);  concat = cmStrCat(concat, " and this is a string literal");  concat = cmStrCat(concat, 'o');  concat = cmStrCat(concat, b, " and this is a string literal ", 'o', b);}// No correction neededvoid test2(){  a = b;  a = "This is a string literal";  a = 'X';  cmStrCat(a, b);}
 |