标签:函数 cout 方法 col 类型 code hello 命名 小问题
语法解析问题。
当给一个变量构造函数传递一个临时变量,而不是命名的变量,c++编译器会将其解析为函数声明,而不是类型对象的定义。
class hello { void operator()() { std::cout << "hello"; } } std::thread haha(hello());
这里是声明了一个haha函数,返回值是 std::thread ,参数是hello func() 返回值是hello类型的无参函数。
有两种解决方案
1. std::thread haha((haha())); // 多套一层括号
2. std::thread haha{haha()}; // 新初始化方法
标签:函数 cout 方法 col 类型 code hello 命名 小问题
原文地址:https://www.cnblogs.com/zijian-yang/p/14155238.html