gpt4 book ai didi

c++ - 模板 C++ 中的实现映射出错

转载 作者:行者123 更新时间:2023-11-27 23:07:12 26 4
gpt4 key购买 nike

我需要在 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com