Сам код:
// #include "stdafx.h"
#include "iostream"
using namespace std;
double MyF2(double &x)
{
cout<<"Размер x: " <<sizeof(x)<<" Значение x="<< x <<" Значение *x="<< x<<endl;
x+=10;
return x;
};
int main (int argc, char* argv[])
{
setlocale(LC_ALL, "Russian");
int a = 2;
double b = 7;
cout<<" a = " << a << " Размер a: " << sizeof(a);
cout<<" b = " << b << " Размер b: " << sizeof(b) << endl;
cout<<"(17) Результат MyF2 : " <<MyF2(a)<<endl;
cout<<"(23) Результат MyF2 : " <<MyF2(++b)<<endl;
return 0;
}
При компилировании вылетает ошибка. В чем ошибка ?
Вы передаете в функцию, принимающую ссылку на double, переменную типа int. Подчеркиваю - не значение, а ссылку!
И что будет, если в функции будет присвоено значение по этой ссылке - скажем, 8 байт double туда, где реально хранятся 4 байта int? уж точно ничего хорошего.
Потому такие несоответствия запрещены.
#include <iostream> вместо include "iostream"
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости