1

为什么此代码会导致 2 个不同的警告?

class Abc
{
public:
    Abc() = default;
    Abc(Abc const&) = default;
};

int main()
{
    int val1{int()};
    Abc val2{Abc()};
}

编译输出:

main.cpp: In function 'int main()':
main.cpp:10:9: warning: unused variable 'val1' [-Wunused-variable]
     int val1{int()};
         ^~~~
main.cpp:11:9: warning: variable 'val2' set but not used [-Wunused-but-set-variable]
     Abc val2{Abc()};
         ^~~~

以大肠杆菌为生

4

1 回答 1

0

警告是不言自明的。代码会按您的预期编译和运行,但编译器建议您通过删除程序中没有用的变量来优化代码(声明一个稍后不会在程序中出现的变量)。

于 2016-09-27T11:26:18.073 回答