包含所有权利的未声明标识符

时间:2014-11-19 12:39:36

标签: c++ undeclared-identifier

每次我尝试构建程序时都会收到此错误:

error C2065: 'DepositoFresco' : undeclared identifier

我创建DepositoFrescoDepositoNormalDeposito的每个实例都会发生这种情况。 DepositoNormalDepositoFrescoDeposito(虚拟类)的子类。我有所有权利包括所以我不知道是什么导致了这一点。 错误发生在'Armazem'类中,我在其中实例化其中几个以插入向量等。这是代码:

Armazem::Armazem(int nF, int nN, int nPF, int nPN, int distMaxi, int distMini) : depositos(), distancia(), graphStlPath <Deposito*, int>() {
distMax = distMaxi;
distMin = distMini;

for (int i = 0; i < nF; i++) {
    DepositoFresco* df = new DepositoFresco(random(1, 20), (float)random(1000, 10000), nPF);
    depositos[i] = df;
}

for (int j = nF; j < nF + nN; j++) {
    DepositoNormal* dn = new DepositoNormal(random(1, 20), (float)random(1000, 10000), nPN);
    depositos[j] = dn;
}

preencherMatriz();
}

此外,Armazem是另一个名为GraphStlPath的模板类的子类,但我认为问题不在这里。

编辑:以下是包含:include "Deposito.h" include "DepositoFresco.h" include "DepositoNormal.h" include "graphStlPath.h" include <vector> include <map> include <stdlib.h> include <stdio.h> include <time.h> include <typeinfo> include <iostream> include <fstream> include <string>

找到问题的任何帮助都是非常有用的。

1 个答案:

答案 0 :(得分:2)

我的通灵调试能力告诉我你的包含中有一个循环,并且标题保护或#pragma once正在开始,使编码器的代码消失。

那,或者你不尊重命名空间。但第一个更有可能。