strcat is a function for c strings, this is char *. The class std::string is different, but it has all these operations built-in. This means it can be done like this…
test += temp;
The reason the other line of code worked is because "Test" is string literal[1][2] and it gets evaluated to const char *, which strcat does except.
Also, this might be important at some point if you are using strings, .c_str() returns a char * of the string.
Try to avoid using this - it’s a common source of memory permission errors and similar issues. Generally speaking, you can use C++ strings for everything in VEXCode.