2011-04-28 2 views
0

Я пытаюсь запустить следующий код, но я не могу его скомпилировать, так как моя IDE жаловалась по следующей причине.Использование макросов, но неявное объявление ошибки функции

H: \ C \ sandBox.c | 11 | предупреждение: неявного объявления функции 'Взаимного' |

Я не знаю, почему мой код не работает. Не могли бы вы помочь?

#include <stdio.h> 
# RECIPROCAL(number) (1.0/(number)) 

int main() 
{ 
    float counter; /* Counter for our table */ 

    for (counter = 0.0; counter < 10.0; 
    counter += 1.0) { 

     printf("1/%f = %f\n", counter, RECIPROCAL(counter)); 
    } 
    return (0); 
} 

ответ

2

Вы забыли define:

#define RECIPROCAL(number) (1.0/(number)) 
+1

Это не работает в Xcode 4.2 с компилятором Clang. Я использую макрос DLog с #define впереди, но после очистки он все еще говорит о неявном объявлении функции. Помогите! –

3

Это потому, что вам нужно использовать #define определить макрос препроцессора.

Изменение:

# RECIPROCAL(number) (1.0/(number)) 

в

#define RECIPROCAL(number) (1.0/(number)) 
Смежные вопросы