Не работает программа

Вот код самой программы,но компилировать не хочет

#include <iostream>
#include <string>
#include <math.h>
using namespace std;

double swapr (double & a, double & b);
int main()
{
float  x=10, y=20;
swapr(x,y);
std::cout<<"x="<<x<<std::endl;
std::cout<<"y="<<y<<std::endl;
}
double swapr (double & a,double & b) 
{ 
double temp; 
temp = a+b;
return  temp;
}

Так а что выдает?

Выдает ошибку объявления типов переменных.
В main они float, а в swapr они уже double.

Исходя из имени функции, смею предположить что её необходимо немного изменить на:

double swapr (double & a,double & b) 
{ 
    double temp;
    //temp = a+b; 
    temp = a;
    a = b;
    b = temp;
    //return temp;
  return  a, b;
}

В главной функции можно указать тип:

    //float x=10, y=20;
    double  x = 10, y = 20;

Под инклюдами не нужна строка:

using namespace std;

Пространства имен указаны далее по коду:

    std::cout<<"x="<<x<<std::endl;
    std::cout<<"y="<<y<<std::endl;

Если учесть значения переменных то все объявления можно указать как тип int