c++ - 尝试初始化类中的集合时出错
问题描述
我定义了一个名为 Quote 的类,其中有一个多重集:
class Quote
{
public:
Quote()=default;
Quote(const std::string& book, double sales_price) :
bookNo(book), price(sales_price) {}
std::string isbn() const { return bookNo; }
private:
std::string bookNo;
static bool compare(const std::shared_ptr<Quote> &lhs, const std::shared_ptr<Quote> &rhs)
{
return lhs->isbn() < rhs->isbn();
}
std::multiset<std::shared_ptr<Quote>, decltype(compare)*> items(compare);
protected:
double price = 0.0;
};
但是我的 IDE(Visual Studio) 显示函数 Quote::compare 不是类型名称
我通常以这种方式从类中初始化一个集合,并且效果很好。为什么会发生在课堂上?谢谢。
解决方案
推荐阅读
- r - group_by 函数正在将数据帧转换为 tibble
- oracle - 从 Oracle apex 应用程序运行 Unix 命令
- java - 将字符串值从一种方法发送到另一种方法
- javascript - indexOf 在关注输入时不是函数错误
- python - 有效检查数组是否为锯齿状
- javascript - Three.js 加载第二个对象后材质消失
- react-native - 反应导航5标题未显示
- helidon - 如何在 Helidon 应用程序中使用 Bean 验证?
- html - 不可见的选择元素
- solr - Apache Lucene/SOLR 的 maven BOM 是否可用?