C++ Can';t将函数定义包含到另一个源文件中

C++ Can';t将函数定义包含到另一个源文件中,c++,C++,各位晚上好,, 我现在正在学习C++课程,老师希望我把函数定义包含到另一个主体中。但是,每次我这样做时,都会出现以下错误: Severity Code Description Project File Line Suppression State Error LNK2005 "unsigned int speed" (?speed@@3IA) already defined in Sourcjhkhje.obj Project4 C:\Users\muham

各位晚上好,, 我现在正在学习C++课程,老师希望我把函数定义包含到另一个主体中。但是,每次我这样做时,都会出现以下错误:

Severity    Code    Description Project File    Line    Suppression State
Error   LNK2005 "unsigned int speed" (?speed@@3IA) already defined in Sourcjhkhje.obj   Project4    C:\Users\muhammad\source\repos\Project4\Project4\TestBicycle.obj    1   


Severity    Code    Description Project File    Line    Suppression State
Error   LNK1169 one or more multiply defined symbols found  Project4    C:\Users\muhammad\source\repos\Project4\Debug\Project4.exe  1   
我所需要做的就是将函数定义移到一个源中,将main移到另一个源中。有人知道是什么导致了这个问题吗

这些就是我的文件的样子

标题1:

#pragma once
size_t speed(0);
size_t GetSpeed();
const size_t MINspeed(10);
const  size_t MAXspeed(40);
标题2:

#pragma once
#include <iostream>
#include <iomanip>
using namespace std;
资料来源1:

#include "BicycleLibIncludes.h"
#include "BicyclePrototypes.h"
/*void SetSpeed(size_t sp)
{
    //cout << "Enter the current speed:";
    //cin >> sp;
    if ((sp >= 10) && (sp <= 40))
    {
        speed = sp;
    }
    else
    {
        cout << "This value is too high/low!";
    }

}*/
size_t GetSpeed()
{
    return (speed);
}
size_t GetMinSpeed()
{
    return size_t(MINspeed);
}
size_t GetMaxSpeed()
{
    return size_t(MAXspeed);
}

void DefaultSetSpeed(size_t s = 20)
{
    speed = s;
}


void GetSelectedSpeed()
{
    string speedunit;
    while (true)
    {
        cout << "Enter M or K for mph or kmh respecitvely. Hit anything else to quit.";
        cin >> speedunit;
        if (speedunit == "M" || speedunit == "K")
        {
            break;
        }
        else
        {
            continue;
        }
    }
    if (speedunit == "M")
    {
        cout << speed;


    }

    if (speedunit == "K")
    {
        double toKmPerHour = 1.61;
        double speedinKmPerHour = speed * toKmPerHour;
        cout << speedinKmPerHour << "\n";
        std::cout << setprecision(3) << speedinKmPerHour << "\n";
        cout << static_cast<int>(speedinKmPerHour) << "\n";
        cout << static_cast<int>(speedinKmPerHour + 0.5) << "\n";
        cout << floor(speedinKmPerHour) << "\n";
        cout << ceil(speedinKmPerHour) << "\n";


    }


}

void DistanceTravelled(size_t x)
{
    static size_t accessCounter;
    static int s;
    cout << "Total distance for all trips so far: " << s << "\n";
    s += x;
    cout << "distance travelled for this trip was:" << x;
    cout << "\nTotal distance for all trips so far: " << s << "\n";
    s += x;
    accessCounter++;
    cout << "Number of times you've used this program:" << accessCounter;

}

int main()

{


    DefaultSetSpeed();
    cout << GetSpeed() << "\n";
    DefaultSetSpeed(28);
    cout << GetSpeed() << "\n";
    cout << "Enter the speed you want to set:";
    size_t userinput;
    cin >> userinput;
    SetSpeed(userinput);
    cout << "Current Speed = " << GetSpeed()
        << "\nMAXspeed = " << GetMaxSpeed()
        << "\nMINspeed = " << GetMinSpeed() << "\n";
    system("pause");
    system("cls");

    GetSelectedSpeed();

    cout << "First trip:\n";
    DistanceTravelled(5);

    cout << "\nSecond trip:\n";
    DistanceTravelled(10);

    cout << "\nThird trip:\n:";
    DistanceTravelled(15);

}
#包括“BicycleLibIncludes.h”
#包括“BicyclePrototypes.h”
/*无效设定速度(尺寸/sp)
{
//cout>sp;

如果((sp>=10)&&(sp),请做一个。我们不需要看到明显与问题无关的一堆代码。您不应该在头文件中定义函数。
#include "BicycleLibIncludes.h"
#include "BicyclePrototypes.h"
/*void SetSpeed(size_t sp)
{
    //cout << "Enter the current speed:";
    //cin >> sp;
    if ((sp >= 10) && (sp <= 40))
    {
        speed = sp;
    }
    else
    {
        cout << "This value is too high/low!";
    }

}*/
size_t GetSpeed()
{
    return (speed);
}
size_t GetMinSpeed()
{
    return size_t(MINspeed);
}
size_t GetMaxSpeed()
{
    return size_t(MAXspeed);
}

void DefaultSetSpeed(size_t s = 20)
{
    speed = s;
}


void GetSelectedSpeed()
{
    string speedunit;
    while (true)
    {
        cout << "Enter M or K for mph or kmh respecitvely. Hit anything else to quit.";
        cin >> speedunit;
        if (speedunit == "M" || speedunit == "K")
        {
            break;
        }
        else
        {
            continue;
        }
    }
    if (speedunit == "M")
    {
        cout << speed;


    }

    if (speedunit == "K")
    {
        double toKmPerHour = 1.61;
        double speedinKmPerHour = speed * toKmPerHour;
        cout << speedinKmPerHour << "\n";
        std::cout << setprecision(3) << speedinKmPerHour << "\n";
        cout << static_cast<int>(speedinKmPerHour) << "\n";
        cout << static_cast<int>(speedinKmPerHour + 0.5) << "\n";
        cout << floor(speedinKmPerHour) << "\n";
        cout << ceil(speedinKmPerHour) << "\n";


    }


}

void DistanceTravelled(size_t x)
{
    static size_t accessCounter;
    static int s;
    cout << "Total distance for all trips so far: " << s << "\n";
    s += x;
    cout << "distance travelled for this trip was:" << x;
    cout << "\nTotal distance for all trips so far: " << s << "\n";
    s += x;
    accessCounter++;
    cout << "Number of times you've used this program:" << accessCounter;

}

int main()

{


    DefaultSetSpeed();
    cout << GetSpeed() << "\n";
    DefaultSetSpeed(28);
    cout << GetSpeed() << "\n";
    cout << "Enter the speed you want to set:";
    size_t userinput;
    cin >> userinput;
    SetSpeed(userinput);
    cout << "Current Speed = " << GetSpeed()
        << "\nMAXspeed = " << GetMaxSpeed()
        << "\nMINspeed = " << GetMinSpeed() << "\n";
    system("pause");
    system("cls");

    GetSelectedSpeed();

    cout << "First trip:\n";
    DistanceTravelled(5);

    cout << "\nSecond trip:\n";
    DistanceTravelled(10);

    cout << "\nThird trip:\n:";
    DistanceTravelled(15);

}
#include "BicycleLibIncludes.h"
#include "BicyclePrototypes.h"
void SetSpeed(size_t sp)
{
    //cout << "Enter the current speed:";
    //cin >> sp;
    if ((sp >= 10) && (sp <= 40))
    {
        speed = sp;
    }
    else
    {
        cout << "This value is too high/low!";
    }

}