包含向量模块冲突 C++
Inclusion vector module conflict c++
我对包含矢量模块有疑问。似乎与其他模块存在冲突。这是结构:
在simulation.h中:
#pragma once
#ifndef SIMULATION
#define SIMULATION
#include <ostream>
#include <sstream>
#include <string>
#include <algorithm>
#include <cstdlib>
// #include <vector>
#include "File.h"
...
void afficherResultat(std::vector<Client> sortie);
...
#endif
和 File.h 文件:
#pragma once
#ifndef FILE
#define FILE
#include <vector>
class File {
...
std::vector<Client> l;
...
};
#endif
我收到 108 个错误,开头为:C4091 警告和 C4430、C2065、C4229 错误...
有些人强调夹杂物的顺序。有什么想法吗?
您正在为属于标准库一部分的标识符定义宏:
#define FILE
(请参阅 https://en.cppreference.com/w/cpp/io/c#Types 了解 FILE
是什么)。
禁止这样做,会导致非常奇怪的错误。
而是使用尽可能独特的名称,包括警卫,例如INCLUDE_GUARD_FILE_H
.
如果你有包含防护,也不需要 #pragma once
这是解决包含防护也应该防止的双重包含问题的非标准方法。
此外,您还没有在 File.h
中声明 Client
。可能缺少定义 Client
的头文件的某些 #include
。
我对包含矢量模块有疑问。似乎与其他模块存在冲突。这是结构:
在simulation.h中:
#pragma once
#ifndef SIMULATION
#define SIMULATION
#include <ostream>
#include <sstream>
#include <string>
#include <algorithm>
#include <cstdlib>
// #include <vector>
#include "File.h"
...
void afficherResultat(std::vector<Client> sortie);
...
#endif
和 File.h 文件:
#pragma once
#ifndef FILE
#define FILE
#include <vector>
class File {
...
std::vector<Client> l;
...
};
#endif
我收到 108 个错误,开头为:C4091 警告和 C4430、C2065、C4229 错误... 有些人强调夹杂物的顺序。有什么想法吗?
您正在为属于标准库一部分的标识符定义宏:
#define FILE
(请参阅 https://en.cppreference.com/w/cpp/io/c#Types 了解 FILE
是什么)。
禁止这样做,会导致非常奇怪的错误。
而是使用尽可能独特的名称,包括警卫,例如INCLUDE_GUARD_FILE_H
.
如果你有包含防护,也不需要 #pragma once
这是解决包含防护也应该防止的双重包含问题的非标准方法。
此外,您还没有在 File.h
中声明 Client
。可能缺少定义 Client
的头文件的某些 #include
。