C++包含有趣的代码Eclipse

问题描述:

我想在C++中编写一个神经网络,并且在我试图编写的一个头文件中,有一个包含顶部的问题。当我双击Eclipse的纲要中的包含文件时,它会将我带到写入文件中,所以Eclipse知道它在那里,但编译器不断抱怨它不在。目录看起来是这样的(我切出无关的问题的所有文件):C++包含有趣的代码Eclipse

src 
->Layers 
    -->Layer.h 
->Neurons 
    -->Neuron.h 
->main.cpp 

的Layers.h文件代码如下:

#ifndef LAYERS_LAYER_H_ 
#define LAYERS_LAYER_H_ 
#include <vector> 
#include "../src/Neurons/Neuron.h" 

class Layer{ 
public: 
    std::vector<Neuron> layer; 
    Layer(Neuron a, int n){ 
     layer = std::vector<Neuron>(n); 
     for(int i = 0;i<n;i++){ 
      layer[i] = a; 
     } 
    } 
    virtual std::vector<double> fire(std::vector<double>); 
    virtual std::vector<double> fire(); 
    virtual std::vector<double> derivative(std::vector<double>); 
    virtual std::vector<double> derivative(); 
    virtual ~Layer(){} 
}; 



#endif /* LAYERS_LAYER_H_ */ 

,并与#线包括“../src/Neurons/Neuron.h”给出了错误

In file included from ..\src\Layers\Layer.cpp:7:0: 
..\src\Layers\Layer.h:11:10: fatal error: ../src/Neurons/Neuron.h: No such file or directory 
#include "../src/Neurons/Neuron.h" 
      ^~~~~~~~~~~~~~~~~~~~~~~~~ 
compilation terminated. 

我已经能够以包括的main.cpp文件,它工作正常。

+0

应该是'../../ src/Neurons/Neurons.h'或'../ Neurons/Neuron.h'吗?看起来你是通过一个目录 –

#include "../src/Neurons/Neuron.h"告诉编译器在相对于当前文件位置的目录层次结构中上升一级。因此../将已经在src之内,并且不需要添加/src。所以你的包括应该看起来像:

#include "../Neurons/Neuron.h" 
+0

这工作,我没有意识到“../”移动了一个目录。我认为这是根目录或类似的东西。谢谢。我会尽快接受你的回答。 – BadProgrammer99