Вы действительно должны более внимательно рассмотреть вывод компилятора. Как правило, он сообщает вам, в какой строке содержится ошибка, что дает вам много работы.
Приступая к конкретной проблеме, ошибочная строка (из того, что я понял, не пробовал компилировать):
char OldVersion[1024] = show_current_version_var;
Вы не можете назначить переменную статическому массиву подобным образом. Есть только несколько вещей, которые можно использовать для инициализации статического массива. Например:
char OldVersion[1024] = "Static string";
char example[1024] = { 0 };
Попробуйте сделать:
char OldVersion[1024];
strncpy(OldVersion, show_current_version_var, 1024);
// Null-terminate the string for good measure
OldVersion[1023] = 0;
Или просто используйте show_current_version_var
там, где вы будете использовать OldVersion
(я не вижу смысла копировать строку в вставленном вами коде).
В любом случае, я не знаю, чего вы пытаетесь достичь, но вам действительно стоит прочесть о C ++. Это довольно сложный язык для использования.