Вы передаете ArrayTimesThree символ *, однако в сигнатуре метода вы указываете, что он должен ожидать символ **. Не забывайте, что использование оператора []
считается разыменованием. Попробуйте это:
#include <iostream>
#include <string.h>
using namespace std;
void ArrayTimesThree(char*, char*);
int main()
{
char s1[200], s2[200], circleword[200];
cin.getline(s1, 200);
cin.getline(s2, 200);
ArrayTimesThree(circleword, s1);
cout<<circleword[1];
return 0;
}
void ArrayTimesThree(char *dest, char source[])
{
dest[0] = '\0';
strcat(dest, source);
strcat(dest, source);
strcat(dest, source);
}
Отказ от ответственности: я не уверен, что именно вы ожидаете от этого кода, поэтому я не могу гарантировать, что логика верна;однако, это позаботится о ваших ошибках компилятора и, похоже, будет правильно работать при написании кода.