Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Функция возвращающая строку


Автор: WhiteSnow 16.10.2011, 15:35
Пишу следущее 

Цитата

char * strcpy_my (char * s1, char * s2){ 
  char *ptrs1 = s1; 
  while((*s1++ = *s2++) != 0); 
  return ptrs1; 
 }



 При компиляции получаю следующий бред: 
Цитата

error C2040: strcpy_my: "char *(char *,char *)" отличается по уровням косвенного обращения от "int ()"



 IDE: Microsoft Visual Studio 2010

Автор: WhiteSnow 16.10.2011, 15:59
Проблема решилась созданием прототипа функции.

Цитата

extern char * strcpy_my (char * s1, char * s2); 

Автор: math64 16.10.2011, 19:47
extern писать не обязательно - для функций по умолчанию extern.
Можно ещё поместить функцию в файл до её использования (если она испльзуется в том же файле, при этом её можно объявить static).

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)