2013-02-18 2 views
0

Сегодня в университете я хотел сделать C-кодирование. Я закончил кодирование под Linux, потому что Xcode не позволит мне скомпилировать файл.Xcode не будет компилировать подпись C-функции при использовании ссылки

Так как это, вероятно, простой (надеюсь поправимо) проблема, которую я привел ее к точке в некоторых сигнатуры функций:

void testfunc(int test); 
void testfunc(int test, int* test2); 
void testfunc(int test, int* test2, int** test3); 

те 3 будет компилироваться и работать! Но использование

void testfunc(int test, int* test2, int** test3, char*& test4); 

приносит Xcode к мнению, что это не представляется возможным. Зачем? Linux не жалуется на это.

ответ

3

Референции не существуют в C. Вы уверены, что не компилируете это как C++ под Linux?

+0

Я даже не забочусь, если это c или cpp :) Мне просто интересно, как получить XCode в сети, жаловаться на это. Я всегда использую компилятор g ++ (gcc). Я уже пробовал установить язык файла на «C++» в XCode, но он не изменил тот факт, что он жалуется. – androidavid

+0

ах, извините, вы были правы. Он просто не работает, изменяя язык файла, но говоря «C++» при создании файла в XCode. Спасибо за помощь, которая это сделала;) – androidavid

+3

@androidavid: Он жалуется, потому что вы пытаетесь скомпилировать как C. Если вы хотите скомпилировать как CPP, то проще всего предоставить файлу правильное расширение, например. .cpp, который заставит Xcode автоматически выбрать правильный язык для компиляции. –