我一直在尝试使用 MySQL/C++ 连接器包连接到我自己的本地托管 MySQL 数据库。真正给我带来问题的行是:
driver = get_driver_instance();
auto_ptr < Connection > con (driver -> connect("tcp://127.0.0.1:3306", "root", "root"));
击中两行中的第二行会给我一个内存分配错误。这是调试器的读数。
HEAP[mySQLTestApp.exe]: Invalid allocation size - CCCCCCD0 (exceeded 7ffdefff)
First-chance exception at 0x7c812afb in mySQLTestApp.exe: Microsoft C++ exception: std::bad_alloc at memory location 0x0012fa88..
HEAP[mySQLTestApp.exe]: Invalid allocation size - CCCCCCCD (exceeded 7ffdefff)
First-chance exception at 0x7c812afb in mySQLTestApp.exe: Microsoft C++ exception: std::bad_alloc at memory location 0x0012f428..
First-chance exception at 0x7c812afb in mySQLTestApp.exe: Microsoft C++ exception: [rethrow] at memory location 0x00000000..
Unhandled exception at 0x7c812afb in mySQLTestApp.exe: Microsoft C++ exception: std::bad_alloc at memory location 0x0012f428..
我真的不确定我做错了什么。我认为它可能是 Connection 指针本身,所以我尝试将其转换为您现在看到的 auto_ptr。同样的错误。我已经为连接函数尝试了不同的参数,但这似乎也不是问题。任何人都可以解释为什么我在程序中这么早就遇到内存泄漏问题吗?