RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Может я не прав, но..


Список сообщений | Написать новое | Ответить на сообщение | Домой Поиск:
Предыдущее сообщение | Следующее сообщение
From : eros2, http://eros2.by.ru/
To : Юрий Пронякин
Subj : Может я не прав, но..

> Ну да: char - числовой тип, логический тип - тоже числовой, да и указатель - тоже число. Специально только что проверил - вот эта программка компилируется без ошибок и предупреждений:
> -------------
> main()
> {
> int i;
> int *p;
> i = func(*p);
> }
>
> int func(int x)
> {
> return x+1;
> }
> -------------
>

Тут никаких ошибок быть и не должно.
Одно предупреждение всёж выдаётся - Missing return value for function 'main'.

> и вот эта программка компилируется тоже без ошибок и предупреждений:
> -------------
> main()
> {
> int i;
> int *p;
> i = func(p);
> }
>
> int func(int x)
> {
> return x+1;
> }
> -------------

А вот ненадо.

Оно вообще не компилируется.

D:zzz>wcc386 test.c
Open Watcom C32 Optimizing Compiler Version 1.6
Portions Copyright (c) 1984-2002 Sybase, Inc. All Rights Reserved.
Source code is available under the Sybase Open Watcom Public License.
See www.openwatcom.org for details.
test.c(6): Warning! W107: Missing return value for function 'main'
test.c(5): Error! E1071: Type of parameter 1 does not agree with previous definition
test.c(5): Note! N2003: source conversion type is 'int *'
test.c(5): Note! N2004: target conversion type is 'int '
test.c(5): Note! N2002: 'func' defined in: test.c(8)
test.c: 11 lines, 1 warnings, 1 errors

Даже не варнинг, а вполне себе error.


Mon 16 Jul 2007 08:38 Mozilla/5.0 (OS/2; U; Warp 4.5; en-US; rv:1.8.1.4) Gecko/200




Programmed by Dmitri Maximovich, Dmitry I. Platonoff, Eugen Kuleshov.
25.09.99 (c) 1999, RU/2. All rights reserved.
Rewritten by Dmitry Ban. All rights ignored.