Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.07.2011, 14:19   #1
Morzik8
Пользователь
 
Регистрация: 06.03.2010
Сообщений: 12
По умолчанию Ошибка при компилировании в C++

В общем только начал изучать C++// компилятор VS2008. Недавно подобные функции работали теперь нет. Выдает ошибку

Ошибка 1 error C2447: {: отсутствует заголовок функции (возможно, используется формальный список старого типа)

Фактически это пример с книги. Как исправить?


Код:
#include "stdafx.h"
#include <iostream>
using namespace std;
int maximum(int,int);

int main()
{
	int a,b;
	cout<<"Vvedite 4ucla"<<endl;
	cin >> a>>b;
	cout << "maximum Paven" << maximum(a,b)<<endl;

	return 0;
}
 int maxumum(int x,int y);
{
	int max=x;
	if (max<y)
		max=y;
	return max;
}
Morzik8 вне форума Ответить с цитированием
Старый 13.07.2011, 15:24   #2
danekne
Форумчанин
 
Регистрация: 12.02.2007
Сообщений: 360
По умолчанию

Точку с запятой убери после имени функции))
danekne вне форума Ответить с цитированием
Старый 13.07.2011, 16:40   #3
Morzik8
Пользователь
 
Регистрация: 06.03.2010
Сообщений: 12
По умолчанию

Цитата:
Сообщение от danekne Посмотреть сообщение
Точку с запятой убери после имени функции))
Спасибо, видать сам не заметил теперь вот такая вещь выходит :D


Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ "int __cdecl maximum(int,int)" (?maximum@@YAHHH@Z) в функции _main rgdf.obj rgdf
Ошибка 2 fatal error LNK1120: 1 неразрешенных внешних элементов C:\Users\Morzik\Documents\Visual Studio 2008\Projects\rgdf\Debug\rgdf.exe 1 rgdf
Morzik8 вне форума Ответить с цитированием
Старый 13.07.2011, 16:52   #4
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Цитата:
Сообщение от Morzik8 Посмотреть сообщение
теперь вот такая вещь выходит :D
А теперь посмотрите имя функции, которое объявлено в прототипе и в вызове, и сравните с вашим заголовком функции
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума Ответить с цитированием
Старый 13.07.2011, 18:39   #5
Morzik8
Пользователь
 
Регистрация: 06.03.2010
Сообщений: 12
По умолчанию

Цитата:
Сообщение от Blade Посмотреть сообщение
А теперь посмотрите имя функции, которое объявлено в прототипе и в вызове, и сравните с вашим заголовком функции
Простите, а можно пояснить как такое получается?

в учебнике процедура вызова функции выглядит, именно так как написано.
Код:
cout <<"maxumum Paveb"<<maximum(a,b)<<endl;
а правильным оказывается вариант
Код:
cout <<"maxumum Paven"<< max(a,b)<<endl;
как быть ?
почему вызов функции не maximum(a,b) ,а max(a,b) ?
И какую книжку посоветуете, если книга "Харви Дейтел, Пол Дейтел Как программировать на C++ " с такими ошибками?
Morzik8 вне форума Ответить с цитированием
Старый 13.07.2011, 18:43   #6
Сыроежка
Форумчанин
 
Регистрация: 01.07.2011
Сообщений: 423
По умолчанию

Цитата:
Сообщение от Morzik8 Посмотреть сообщение
Простите, а можно пояснить как такое получается?

в учебнике процедура вызова функции выглядит, именно так как написано.
Код:
cout <<"maxumum Paveb"<<maximum(a,b)<<endl;
а правильным оказывается вариант
Код:
cout <<"maxumum Paven"<< max(a,b)<<endl;
как быть ?
почему вызов функции не maximum(a,b) ,а max(a,b) ?
И какую книжку посоветуете, если книга "Харви Дейтел, Пол Дейтел Как программировать на C++ " с такими ошибками?
В вашем примере должна вызываться именно функция maximum, а не max. ЭТо уже ваша личная самодеятельность, что вы заменили ее на max. Как я понял, пример для того и сотавлен, чтобы вызывалась функция maximum, которая в данном примере определяется.

Что касается функции max, то эта функция стандартной библиотеки С++, поэтому вы и смогли ее вызвать.
Со мной можно встретиться на www.clipper.borda.ru
Сыроежка вне форума Ответить с цитированием
Старый 13.07.2011, 18:50   #7
Morzik8
Пользователь
 
Регистрация: 06.03.2010
Сообщений: 12
По умолчанию

Цитата:
Сообщение от Сыроежка Посмотреть сообщение
В вашем примере должна вызываться именно функция maximum, а не max. ЭТо уже ваша личная самодеятельность, что вы заменили ее на max. Как я понял, пример для того и сотавлен, чтобы вызывалась функция maximum, которая в данном примере определяется.

Что касается функции max, то эта функция стандартной библиотеки С++, поэтому вы и смогли ее вызвать.
тогда как правильно?
Morzik8 вне форума Ответить с цитированием
Старый 13.07.2011, 19:14   #8
Сыроежка
Форумчанин
 
Регистрация: 01.07.2011
Сообщений: 423
По умолчанию

Цитата:
Сообщение от Morzik8 Посмотреть сообщение
тогда как правильно?
Правильно, как вам уже было сказано, то есать проверьте правльность написания имени функции во всех местах! А если выходит ошибка, то сообщите, какая именно ошибка у вас возникает.
Со мной можно встретиться на www.clipper.borda.ru
Сыроежка вне форума Ответить с цитированием
Старый 13.07.2011, 19:16   #9
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Цитата:
Сообщение от Morzik8 Посмотреть сообщение
Простите, а можно пояснить как такое получается?
в учебнике процедура вызова функции выглядит, именно так как написано.
Я совсем не это имел ввиду.
Хорошо, если намеки не понятны, то скажем прямо: у вас опечатка.
Прототип функции
Код:
int maximum(int,int);
Вызов функции
Код:
maximum(a,b)
Заголовок функции
Код:
int maxumum(int x,int y);
Так, надеюсь, понятно?
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума Ответить с цитированием
Старый 13.07.2011, 20:08   #10
Morzik8
Пользователь
 
Регистрация: 06.03.2010
Сообщений: 12
По умолчанию

да... торможу уже Спасибо большое!
Morzik8 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при компилировании примера из книги zipwind Gamedev - cоздание игр: Unity, OpenGL, DirectX 0 06.06.2011 21:42
ошибка при компилировании favorite Общие вопросы Delphi 1 26.05.2011 11:08
include при компилировании. goog Общие вопросы C/C++ 3 17.06.2010 14:59
При компилировании (F9) подвисает Delphi Polotenchik Общие вопросы Delphi 3 24.06.2009 13:44
Знакомлюсь с Borland C++ Builder 6. Ошибка при компилировании. mflat C++ Builder 8 20.02.2009 15:28