Прототип функции Си.

программирование C++ с++ код функции

#include <stdio.h>

int dream (int, int);
int dream(int *px, int *py)
{
if(*px == *py)
{
*py = 0;
*px = 1;
return 0;
}
else
{
*px = *py = -1;
return 1;
}
}

int main(void)
{
int x, y;

x = 3, y = 2;

printf("Return value of `dream' = %d\n", dream(&x, &y));
printf("*px = %d\t*py = %d\n", x, y);

}

Пишет conflicting types for dream, где идет объявление функции. Где тут ошибка

Примечание:
dream и в прототипе и в объявлении функции и вызове напсано сто % верно

Примечание:
но как быть? int dream (*int, *int); - такой прототип тоже неверен

Примечание:
и вообще, как это разные типы? тип один - int

Примечание:
все дошло int dream (int *, int *); - синтаксис просто неправильный был
Ответы:
У Вас в прототипе и в объявлении разные типы, а C не поддерживает перегрузку функций.
В прототипе у Вас (int,int), а в объявлении (int*,int*). int и int* — это разные типы.
>и вообще, как это разные типы? тип один - int


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.