包含向量模块冲突C ++

时间:2018-12-08 21:01:26

标签: c++ vector module inclusion

我对包含vector模块有疑问。似乎与其他模块混淆了。这是结构:

在模拟中。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错误... 有些人关注夹杂物的顺序。有任何想法吗?

1 个答案:

答案 0 :(得分:1)

您正在为标识符定义宏,该标识符属于标准库:

<div class="container">
    <div class="row">
        <div class="col-sm-4"></div>
    <div class="modal-content">
        <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
            <h4 class="modal-title" id="myModal-label">Bootstrap Dialog</h4>
            <div>
                <div class="modal-body">
                    <div class="form-group">
                        <input type="text" placeholder="enter name" class="form-control" id="text" name="text" />
                    </div>
                    <div class="form-group">
                        <input type="text" placeholder="enter name id" class="form-control" id="text" name="text" />
                    </div>
                    <div class="form-group">
                        <input type="text" placeholder="adress" class="form-control" id="text" name="text" />
                    </div>
                </div>
                <div class="modal-footer">
                    <button class="btn btn-primary" id="btnOK" onclick="">OK</button>
                    <button class="btn btn-default" data-dismiss="modal" id="btnCancel">Cancel</button>
                </div>
            </div>
        </div>
    </div>
</div>
    </div>

(有关#define FILE 的信息,请参见https://en.cppreference.com/w/cpp/io/c#Types

禁止这样做,并且会导致非常奇怪的错误。

而是使用与包括卫兵一样尽可能唯一的名称,例如FILE

如果您有包含保护,则也不需要INCLUDE_GUARD_FILE_H,这是解决包含保护也应防止的双重包含问题的非标准方法。

此外,您还没有在#pragma once中声明Client。可能缺少用于定义File.h的头文件的#include