返回

c++11-未使用但使用指针设置变量警告

发布时间:2022-04-27 08:52:20 227
# c++

我有以下代码:

#include 

class Test
{
public:
    
    Test(int i)
    {
        initialize(i);
    }
    
    void initialize(int i)
    {
        std::cout<<"i: "<<i<<std::endl;
    }
};



int main()
{
    Test* obj1(nullptr);
    obj1 = new Test(2);
    
    Test* obj2(nullptr);
    obj2 = new Test(2);
    obj2->initialize(3);    
    
    return 0;
}

当我这样编译时(GCC v11.2.0):

g++-Wall--std=c++11 main.cpp

我看到以下警告:

main.cpp: In function ‘int main()’:

main.cpp:25:15: warning: variable ‘obj1’ set but not used [-Wunused-but-set-variable]

   25 |         Test* obj1(nullptr);

      |               ^~~~

我的问题是为什么在 obj1 做几乎相同的事情时会有警告,而不是 obj2?

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(1)
按点赞数排序
用户头像