vs2013 sqlite3 错误 C4703

Posted

技术标签:

【中文标题】vs2013 sqlite3 错误 C4703【英文标题】:vs2013 sqlite3 error C4703 【发布时间】:2013-12-09 21:37:13 【问题描述】:

我刚刚将我的 sqlite3 课程从 vs2010 express 移动到 vs2013 express。 在 Visual Studio 2010 中,一切都很好并且工作正常。

但是当(使用重新编译的 lib)我尝试运行任何类型的 sqlite3 的函数时,我在 sqlite.h 的不同代码位置得到相同的错误:错误 C4703:可能未初始化的局部指针变量使用“p”

我记录了自己并阅读了此警告(SDL 检查出错)是指针未初始化为 NULL 或 nullptr 的错误。

MSDN 解决方案是:

1 - /wd[error] 或/和禁用 sdlchecks(我不想要!)

2 - 通过使用 NULL 或 nullptr 初始化 ptrs 来修复代码(在这种情况下我不能!)

有人知道解决我问题的正确方法吗?

解决办法:

重新编译 sqlite.lib 并带有 #pragma 警告(禁用:4703)

【问题讨论】:

你用的是最新的sqlite源码吗?我在 3.7.17 中没有收到此错误。 @dauphic 是的,我正在使用最新版本(3.8.2) 您可以仅对 sqlite3.c 禁用警告(或 SDL 检查) @dauphic 好主意!这次我用#pragma 警告(禁用:4703)重新编译了库。成功了,谢谢:) 【参考方案1】:

解决方案:

重新编译 sqlite.lib 并带有 #pragma 警告(禁用:4703)

【讨论】:

在 Visual Studio 的情况下:项目属性->C/C++->高级->禁用特定警告

以上是关于vs2013 sqlite3 错误 C4703的主要内容,如果未能解决你的问题,请参考以下文章

VS编译报错:error C4703: 使用了可能未初始化的本地指针变量“xxx”

如果 sqlite3_open() 返回错误和有效的数据库连接怎么办?

错误的sqlite3 db.lock在VS中阻止Web部署

VS2017git 提交提示错误 Git failed with a fatal error.

Sqlite3 vs Postgres vs Mysql - Rails [关闭]

为啥 sqlite3-ruby-1.2.2 在 OS X 上不起作用?