【发布时间】:2014-11-19 12:39:36
【问题描述】:
每次我尝试构建程序时都会收到此错误:
error C2065: 'DepositoFresco' : undeclared identifier
我创建的DepositoFresco、DepositoNormal 和Deposito 的每个实例都会发生这种情况。 DepositoNormal 和 DepositoFresco 是 Deposito(虚拟类)的子类。我拥有所有权利,所以我不知道是什么原因造成的。
错误发生在“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>
非常感谢您找到问题的任何帮助。
【问题讨论】:
-
我们怎么知道你有“所有的权利包括”?你能创建一个Minimal, Complete, and Verifiable example 给我们看看吗?
-
现在添加了包含。我忘记了,抱歉。