Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум на Исходниках.RU > C/C++: Общие вопросы > C пустая декларация |
Автор: sergioK 25.02.20, 11:44 |
Всем дд списал вот такое <{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> void display_str(char name[]){ printf("your name is:\t"); puts(name); printf("%s", name); } int main(){ char name[30]; printf("please enter your name\n"); fgets(name, sizeof(name), stdin); display_str; // забыл про параметер return 0; } Вот компилятор кричит main.c|21|warning: statement with no effect [-Wunused-value]|, а "должен бы " ошибку выдавать, если функция внизу то таки ругается, а снизу нет и линкер молчит , ну Я то до конца не понимаю,(знаю из практики что так) а как это обьяснить студентам, какой такой statement ? ну допустим Я так написал и как этот display_str потом использовать |
Автор: Qraizer 25.02.20, 12:03 |
Ну ты взял значение функционального типа, оно отдекейелось к указателю на функцию... и всё. Это всё разрешённые операции, откуда ошибка? Только толку от него нет, ибо это просто выражение без любого влияющего на исполнительное окружение эффекта, отсюда предупреждение. |
Автор: sergioK 25.02.20, 12:10 |
Цитата Qraizer @ Ну ты взял значение функционального типа, оно отдекейелось к указателю на функцию... и всё. Это всё разрешённые операции, откуда ошибка? Только толку от него нет, ибо это просто выражение без любого влияющего на исполнительное окружение эффекта, отсюда предупреждение. что такое отдекейелось , по-русски |
Автор: OpenGL 25.02.20, 12:52 |
std::decay Скрытый текст А вообще я сначала про D_KEY подумал |
Автор: Qraizer 25.02.20, 12:54 |
decay. По-русски "сведение" говорят, вроде бы. Ещё массивы так к указателям сводятся. И обратно указатели на функции к функциям, что позволяет писать просто fPtr() вместо (*fPtr)(). |
Автор: sergioK 25.02.20, 14:46 |
Цитата Qraizer @ decay. По-русски "сведение" говорят, вроде бы. Ещё массивы так к указателям сводятся. И обратно указатели на функции к функциям, что позволяет писать просто fPtr() вместо (*fPtr)(). Это какой то экзотический английский не видел в литературе такого слова, по-русски вроде говорят "приводиться" хотя не большой его знаток , в английском это casting, trasform , mapping, reform, remake convert, в крайнем случае became, Ладно черт с ним, тут не тут не школа английского, по мне так вопрос закрыт th4u, или давай его в холивары, у меня по ним ностальгия OpenGL, Мне тоже так показалось |
Автор: Qraizer 25.02.20, 15:12 |
Цитата sergioK @ Это не любой "приводится", который известен как "cast". Это вполне конкретные касты, которые выделяются в отдельное понятие, потому что выполняются очень часто и незаметно. не видел в литературе такого слова, по-русски вроде говорят "приводиться" хотя не большой его знаток , в английском это casting, trasform , mapping, reform, remake convert, в крайнем случае became, ... Добавлено Отъёлки. Я ж специально там е поставил, хотя правильней было бы сказать отдикейится... |
Автор: sergioK 25.02.20, 15:26 |
Цитата Qraizer @ Отъёлки. Я ж специально там е поставил, хотя правильней было бы сказать отдикейится... Правильней создать холивар как надо переводить с английского на русский, |