Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

请问QT5.9为什么不能在函数里创建对象呢?



  • 我用QT新建了一个Qt Console Application,然后创建了一个C++类之后在main函数里调用,结果编译报错!!
    0_1517041367807_26298d19-5717-4239-808e-6b7fe6e2e65d-image.png

    但是如果是Non-QT Project 就能成功编译,请问这是什么原因?



  • @Aukid 你好.

    1. 查看对应的函数是否具有声明和定义;
    2. 重新编译整个程序,obj属于中间文件,可能是旧的;
    3. 如果问题依然存在,可以把类的代码给我们看看;


  • 补充一下问题描述,类的代码是照抄《C++ Primer 5ed》 里面的,
    0_1517069248176_49592135-4e85-4f94-9f94-878a5d21ec66-image.png

    0_1517069316026_3233a341-4797-449f-bb31-aa4e20a9628b-image.png

    0_1517069342541_384d5b63-8861-4d05-8d87-665fbc851b45-image.png

    但是到debug文件下看好像没有给StrVec类生成.obj文件?这是为什么呢?
    0_1517069424699_b76f440f-b77f-4656-ac5b-fed88c3c25df-image.png



  • 是不是在strvec.h中忘记写了#endif?


Log in to reply