Что значит сообщение об ошибке " ошибка: expected ‘;’, ‘,’ or ‘)’ before ‘&’ token"?

программирование

Код Си:
1 #include <stdio.h>
2
3 void func(short &x);
4
5 int main(void)
6 {
7 short x = 10;
8
9 printf("main() x - %u\n", x);
10
11 func(x);
12
13 printf("main() x before func() - %u\n", x);
14
15 return 0;
16 }
17
18 void func(short &x)
19 {
20 x = 20;
21
22 printf("func() x - %u\n", x);
23 }

Примечание:
Ошибку выдает компилятор gcc в cygwin. А в Dev-C++ код компилируется без проблем. Почему?
Всем спасибо!
Ответы:
Ошибка: операция & в Си обозначает побитовое "И", либо обозначает взятие адреса переменной.
Если хотите передавать параметр в функцию по ссылке (чтобы его можно было  изменять внутри функции), то должно быть так:


10 лет назад

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

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

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