VS error 2019 错误

背景:

C++ peimer 第七章第二小节的代码

如果在同一个文件中编译没问题,但是如果分发到 .hpp 和 .cpp 两个文件中,就会出现 error 2019 的错误

把内联的几个 inline 去掉后,就可以编译编译成功。此处是问题一,这个内联定义影响到了C++编译期链接中间函数名,这个是为什么

第二个是在测试

    Screen myScreen(5,3);
    const Screen blank(5, 3);
    myScreen.set('#').display(cout);
    blank.display(cout);

时,会出现没有对应的构造函数与之进行匹配。

我在类中又加了一个两个参数的构造函数才得以通过

    Screen(pos ht, pos wd)
    {
        height = ht;
        width = wd;
    }
    Screen &set(char);
    inline Screen &set(pos, pos, char);

以上两个函数中

如果对于第一个函数进行内联修饰,会报错

只能对于第二个函数进行内联函数声明

原文地址:https://www.cnblogs.com/wanghao-boke/p/13366098.html