码迷,mamicode.com
首页 > 编程语言 > 详细

c++日常小问题

时间:2020-12-23 12:13:08      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:函数   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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!