gpt4 book ai didi

c++ - 在使用 Visual Studio 2005 调试时调用函数?

转载 作者:可可西里 更新时间:2023-11-01 17:38:43 24 4
gpt4 key购买 nike

这是我知道可能可行但我从未设法做到的事情
在 VS2005(C++) 中,调试时,能够从我正在调试的代码中调用一个函数。
在调试仅使用监 window 口的正常功能无法轻松探索的复杂数据结构时,此功能有时是必不可少的。
监 window 口似乎允许编写函数调用,但每次我尝试它时它都会给我一个或另一个错误。

错误:找不到符号“func”
错误:参数列表与函数不匹配
错误:成员函数不存在

有没有人成功地使这项工作正常进行?我在这里缺少什么?

编辑:很明显,调用的函数应该是存在于调试器所在的当前作用域中的符号。

最佳答案

好的,这是我找到的
CXX0040 表示“C 表达式计算器不支持涉及构造函数调用的隐式转换。
CXX0047 表示“仅当存在精确参数匹配或不需要构造对象的匹配时才能调用重载函数。

如此组合意味着如果我想调用一个函数,所有参数都不应该有隐式转换,而且所有参数都不需要构造。
在这种情况下,“隐式转换”似乎包括一些琐碎的事情,比如将 'String' 转换为 'const String&'
“构造”似乎包括琐碎的复制构造。因此按值传递任何不是原始类型的东西都会导致错误。

所以这基本上留下了只接受基本类型或指针的函数。
我刚刚成功地测试了这个理论。

因此,如果您希望能够从监 window 口调用方法,请添加一个只接受指针和原语的重载,并在监 window 口中适本地传递参数。要传递不是原始对象的对象,请传递其地址。

关于c++ - 在使用 Visual Studio 2005 调试时调用函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/271042/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com