c++日常小问题

2021-03-10 08:28

阅读:635

标签:函数   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()}; // 新初始化方法

c++日常小问题

标签:函数   cout   方法   col   类型   code   hello   命名   小问题   

原文地址:https://www.cnblogs.com/zijian-yang/p/14155238.html


评论


亲,登录后才可以留言!