枚举在载体我有一个enum
,与此enum
作为构件,因此这些结构的载体的结构:搜索用于在结构中的C++
enum TickerType { tt1, tt2, tt3 };
struct Ticker {
std::string name;
TickerType type;
};
std::vector<Ticker> vect;
我要搜索的元素vect
,其类型为tt1
。为此我宣布
struct find_ticker
{
const TickerType type;
find_ticker(TickerType type) : type(type) {};
bool operator() (const Ticker& ticker) const
{
return ticker.type == type;
}
};
,并期待有:
if (std::find (vect.begin(), vect.end(), find_ticker (tt1)) != tickers.end())
,但我得到
error: no match for ‘operator==’ (operand types are ‘Dfp::Ticker’ and ‘const {anonymous}::find_ticker’) || { return *__it == _M_value; }
*广告管理系统正在应用的全局命名空间和find_ticker被定义在我需要它的实现文件中的一个匿名命名空间
比较vect? – billz