从C++模板返回NULL

Mat*_*adu 0 c++ null templates class

我必须创建一个模板函数来搜索map变量中的元素.如果元素存在,则函数必须返回它.否则它必须返回NULL.

template <class K, class E> E dictionary<K,E>::research(K key) {

// map<K,E> elements;

if(elements.find(key) != elements.end()) {
    return elements.find(key)->second;
} else {
    return NULL;
}
Run Code Online (Sandbox Code Playgroud)

由于返回类型是E,返回NULL总是给出错误.我怎样才能做到这一点?或者我必须以不同的方式构建我的功能?

这是学校的家庭作业,我必须返回NULL,没有其他选择.如果可以的话,我会亲自做些不同的事情.

Dav*_*nan 7

此功能的设计不正确.完全可能NULL与类型完全不兼容E.例如,假设它E是一个结构,或者std::string等等.

这是学校的家庭作业,我必须回来NULL,没有其他选择.

你的家庭作业不正确,或者你误解了它的要求.您可能需要返回指针E