C++自己搞了个头文件和两个源文件,为什么编译通不过呢?

C++自己搞了个头文件和两个源文件,为什么编译通不过呢?(只有一个源文件时编译就能通过)
源文件1:

#include"my_vector.h"
#include
#include
#include
#include
#include
using namespace std;
int main()
{
    vector<int> v;
    input_vector_int(v);
    print_vector_int(v);
    return 0;
}

源文件2:

#include
#include
#include
#include
#include
#include"my_vector.h"
using namespace std;
inline void print_vector_int(const vector<int>& v)
{
    cout << "Print Vector: \n";
    for (int x : v)
    {
        cout << x << '\n';
    }
}
inline void print_vector_string(const vector& v)
{
    cout << "Print Vector: \n";
    for (string x : v)
    {
        cout << x << '\n';
    }
}
inline void input_vector_string(vector& v)
{
    string x;
    while (cin >> x)
    {
        v.push_back(x);
    }
}
inline void input_vector_int(vector<int>& v)
{
    int x;
    while (cin >> x)
    {
        v.push_back(x);
    }
}

头文件

#pragma once
#include
#include
#include
#include
#include
using namespace std;
inline void print_vector_int(const vector<int>& v);
inline void print_vector_string(const vector& v);
inline void input_vector_string(vector& v);
inline void input_vector_int(vector<int>& v);

报错如下:

img

img

img

第二个源文件中的#include"my_vector.h"应该放在首行