门吹西风 2022-02-24 11:04 采纳率: 25%
浏览 12

如下代码为啥在VS2019里编译没问题,但在GCC上编译报错?


template<typename IgnoreFuncT = std::function<bool(const std::string&, class...args)> >
std::ostream& writeString(
    std::ostream& os, const std::string& input, IgnoreFuncT ignoreFunc)
{
    if (!ignoreFunc(input)) {
        os << input;
    }
    return os;
}
bool checkFunc(const std::string& input) {
    static const std::string splitChar(",");
    return (input.find(splitChar) == std::string::npos);
}

TEST(aaaaa, aaaa2222)
{
    std::stringstream oss;
    const std::string str("+aa");
    writeString(oss, str, std::bind(&checkFunc, str));
    EXPECT_EQ(std::string("\"\t+aa\""), oss.str());
}

  • 写回答

3条回答 默认 最新

  • 五一编程 2022-02-24 11:43
    关注

    是不是缺少头文件

    评论

报告相同问题?

问题事件

  • 创建了问题 2月24日