- A+
问题
函数没有写返回值
后果
QtCreator中以Debug模式编译程序时,可能没有问题;但是Release模式编译后,运行程序就会出现崩溃,且问题报错很奇怪,定位错误代码比较难。这个时候,就需要养成正确的编写习惯了,可惜的是,默认情况下,QtCreator编译报错只会将其认为是警告,很多时候开发人员会忽视警告
解决措施
将该警告升级为错误。pro文件中加上这句话:
QMAKE_CXXFLAGS += -Werror=return-type #函数有返回值
重新编译项目即可
补充内容
QMAKE_CXXFLAGS += -Werror=return-type #函数有返回值
QMAKE_CXXFLAGS += -Werror=return-local-addr #返回局部变量地址
QMAKE_CXXFLAGS += -Werror=missing-field-initializers #缺少初始值设定项
QMAKE_CXXFLAGS += -Werror=maybe-uninitialized #变量可能没有被初始化
QMAKE_CXXFLAGS += -Werror=delete-non-virtual-dtor #
QMAKE_CXXFLAGS += -Werror=unused-but-set-variable #设置了但未使用的变量
QMAKE_CXXFLAGS += -Werror=parentheses #括号不匹配
QMAKE_CXXFLAGS += -Werror=pointer-arith #指针用在了算术运算
QMAKE_CXXFLAGS += -Werror=reorder #警告构造函数的顺序不会被使用
QMAKE_CXXFLAGS += -Werror=format-extra-args #格式不对
QMAKE_CXXFLAGS += -Werror=unused-variable #未使用的变量