作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要在 es int,int 或 char,int 或 char,char.... 中使用各种类型的映射。
这是我的 C++ 代码:
#include <iostream>
#include<map>
using namespace std;
template< class A, class B >
class MyClass {
private:
std::map<A,B> DatMap;
public:
MyClass<K,T>(){
DatMap = 0;
}
~MyClass(){
delete DatMap;
}
void DatInsert( A k ,B v ) {
DatMap.insert( std::pair<A,B>( k, v) );
}
};
int main(){
DatMap<int,int> datmap1();
diz1.DatInsert();
}
我在 diz1.DatInsert();
行上发现了这个错误
错误是:
error: request for member ‘DatInsert’ in ‘datmap1’, which is of non-class type ‘DatMap<int, int>()’|
我做错了什么?
最佳答案
这是一个函数声明:
// functon datamap1, returns DatMap<int, int>
DatMap<int,int> datmap1();
你需要
DatMap<int,int> datmap1;
或者,此语法自 C++11 起有效
DatMap<int,int> datmap1{};
关于c++ - 模板 C++ 中的实现映射出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22823344/
我无法在附加行中显示“真”、“假”、"is"和“否”按钮。 我在这里有一个应用程序:Application 请按照以下步骤使用应用程序: 1。当你打开应用程序时,你会看到一个绿色的加号按钮,点击 在此
我是一名优秀的程序员,十分优秀!