C++错误:C4430和C2143错误在不可能的地方
C++ Error: C4430 and C2143 Error at an impossible place
我试图在互联网上搜索此错误的答案,但问题似乎总是有人忘记将返回说明符 int 添加到主函数中。这很奇怪,因为错误被抛在一行上,不可能有什么错误:
#ifndef ResMan_H
#define ResMan_H
#include "Loader.h"
#include <iostream>
template<class Res>
class ResourceManager {
private:
std::map<int, Res*> resourceList; //C4430 & C2143
Loader<Res> * loader;
public:
ResourceManager(Loader<Res> * loader);
void load(int key, std::string);
Res* request(int key);
void unload(int key);
void dispose();
};
#endif
在线抛出错误:
std::map<int, Res*> resourceList;
Loader.h 文件仅包含:
#ifndef Loader_H
#define Loader_H
#include <iostream>
template<class Res>
class Loader {
public:
virtual Res* loadFromFile(std::string filePath);
};
#endif
错误说我错过了一个";",并且我在某处忘记了一个类型说明符,但事实并非如此。我尝试重新启动VS13(有时重新启动后它不再给我那些奇怪的错误),但这没有帮助。
编辑:很高兴知道为什么一个问题被否决,这样我就可以避免在下一个问题上犯同样的错误。谢谢。
你忘了放置
#include <map>
在您的标题中。
因此,编译器无法解析类型 std::map<int, Res*>
。
相关文章:
- 没有可行的过载'='错误,可能导致这种情况的原因是什么?
- 试图修复一个错误,该错误不会让我开始编程其余部分
- 当我选择大于 720 的矩阵大小时,程序退出并显示错误代码.可能是什么原因?
- C# HashSet VS C++ std::unordered_set 使用自定义类键。C++慢...不可能。如何实现 C# 的速度?
- 压缩天然气.AES.错误解密(可能加密)的文件
- 为什么在C++不可能递增或进行数学运算,例如在声明为数组的变量上乘法
- 使用 std::iterator_traits<> 时编译时错误不明确
- fopen 与常量字符 * 从 QString 是不可能的
- 使用 thrust::d evice_vector of thrust::complex 编译错误,可能是由于错误的实现
- 线路抑制状态错误 C4703 可能未初始化的局部指针变量"back"已使用
- C++ Mac Xcode 错误:控制可能达到非无效功能的末尾
- 错误:不支持 GLSL 3.30.支持的版本包括:1.10、1.20、1.30、1.00 ES、3.00 ES、3.10
- 数组错误(不允许类型不完整)
- 谷神星求解器成本函数继承错误:模板可能不是虚拟的
- 错误:使用gcc 32位时,"asm"操作数具有不可能的约束
- C++错误:C4430和C2143错误在不可能的地方
- 程序超过了时间限制,这似乎是不可能的——错误代码
- 我的代码中有一个错误,可能是语法或我找不到的 if 语句。编程新手
- 无效地使用不完整的类型/前向错误声明.可能误用抽象类?(c++)
- 在 GNU 的C++代码中使用 C 标头。包括内联装配的错误:'asm'中不可能的约束