为什么我不能将源文件连接到头文件

Why I cannot connect my source file to the header file?

本文关键字:文件 连接 源文件 不能 为什么      更新时间:2023-10-16

我尝试创建一个名为Paitent_info.h的标题,如图所示:

#ifdef GUARD_Paitent_info
#define GUARD_Paitent_info
#include <iostream>
#include <string>
#include <vector>
struct Paitent_info {
    std::string name;
    std::vector<double> tem;
};
bool compare(const Paitent_info&, const Paitent_info&);
std::istream& read(std::istream&, Paitent_info&);
std::istream& read_tem(std::istream&, std::vector<double>&);
#endif

这里是Paitent_info.cpp:

#include "Paitent_info.h"
using std::istream; using std::vector;
bool compare(const Paitent_info& x, const Paitent_info& y)
{
    return x.name < y.name;
}

istream& read(istream& ip, Paitent_info& p)
{ // do something
    return ip;
}
istream& read_tem(istream& in, vector<double>& tem)
{ // do something
    return in;
}

我从这个代码中得到了许多错误信息:

  1. std::istream和std::vector未被声明
  2. Paitent_info没有指定类型。
  3. 请求成员' name '在' x '和'y'中,它是非类类型' const int '。
  4. istream没有指定类型。

我不知道为什么我得到所有这些错误信息,请帮助我

你的标题栏打错了:

#ifdef GUARD_Paitent_info

应为

#ifndef GUARD_Paitent_info

目前,保护只会在头部已经被包含的情况下才会被包含。想想看;)