Это связано с тем, что изменение в функции changeValue ()
является локальным. Когда вы можете changeValue (value)
, содержимое переменной value
в основном копируется в формальном аргументе с именем value
(одно имя) этой функции. То же самое имя не означает, что оба они одинаковы. Значение, которое вы просматриваете внутри функции, - копия значения, которое вы имели в главном.
Для изменения вам необходимо передать его по ссылке или указатель
void changeValue (int *val)
{
*val = 6;
}
вызов с changeValue (&value)
в главном
Это работает, потому что адрес переменной value
в главном передан, и это значение адреса копируется в val
функции. Выполняя *val
, мы можем получить содержимое адреса, который был скопирован в val
, который на самом деле содержит содержимое value
в главном.
OR
void changeValue (int &val)
{
val = 6;
}
Невозможно выполнить соединение, однако вы можете использовать FQL.Multiquery , чтобы объединить 4 запроса в один вызов. Четыре запроса будут равны 1 каждому для 4 возможных ответов на события : присутствующий, неуверенный, отклоненный и not_replied.