gpt4 book ai didi

c++ - 为什么 typedef 中有这么多错误?

转载 作者:太空狗 更新时间:2023-10-29 23:47:36 27 4
gpt4 key购买 nike

来自这里:

   // parts of c++0x std
#include <boost/bind.hpp>
#include <boost/function.hpp>

#ifndef _IGraphElement_h_
#define _IGraphElement_h_

using namespace std ;
template <typename DataType >
class IGraphElement : public IGraphElementBase{

typedef boost::function<void(DataType)> Function;
typedef std::vector<Function> FunctionSequence; // (line *)
typedef FunctionSequence::iterator FunctionIterator; // (line **)
//...
};

我同时在 ** 线上获得了 C2146 和 C4430!(如何解决这个问题?

最佳答案

typedef FunctionSequence::iterator FunctionIterator; // (line **)

这应该写成,

typedef typename FunctionSequence::iterator FunctionIterator;

因为iterator是依赖名,所以typename是必需的!

在此处阅读相关名称:

关于c++ - 为什么 typedef 中有这么多错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4853263/

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