Мой код:Сообщение об ошибке на присвоение возвращаемого значения
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
char * callMe(char *buf_test, const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
vsnprintf(buf_test, sizeof(buf_test), fmt, ap);
va_end(ap);
return buf_test;
}
int main()
{
char buf_t[100];
int test_flag =1;
buf_t = callMe(buf_t, "Test successful : %d", test_flag);
printf("\n\n Result = %s", buf_t);
}
Ошибка:
error: array type 'char [100]' is not assignable
buf_t = callMe(buf_t, "Test successful : %d", test_flag);
~~~~~^
1 error generated.
'символ [100]' не переуступка. Вы не можете назначить 'char [100]'. –
'sizeof (buf_test)' это даст размер указателя, а не массив. Узнайте о массивах и функциях. – 2501
Изменить тип возврата на 'void'. (например, 'void callMe (') и delete 'return buf_test;' – BLUEPIXY