0
|
Antti Kissaniemi · 技术社区 · 5 年前 |
1
3
参考屏幕截图:调试器正在显示
不能调用方法并在调试器监视中显示其结果。调试器将只显示现有的变量和数据。它不能根据需要调用任意方法,因为这些方法可以改变正在调试的程序的状态,而这种方式既不是代码作者也不是调试器所预期的。 您可以在代码中临时添加:
然后编译,并将tmp-len添加到监视中。 |
2
6
您会被Visual Studio 6.0的蹩脚调试器所迷惑。不要依赖这个。由于内联或类似的原因,它可能无法获取返回值。 打印出值以获得实际值。 编辑:同样,从您的示例来看,似乎您无论如何都不会存储strlen的结果。这也可能是调试器没有看到返回值的原因。完全可能的是,如果您不使用该值,编译器决定不需要实际执行strlen。 注:目前没有真正的理由 仍然 使用VC++6.0。它是一个古老的编译器和IDE,这是一个非常糟糕的C++编译器。Visual C++编译器的更新版本是免费的(没有IDE),使用它们。 |
3
4
strlen不是void返回类型,而是您的调试器没有给出正确的消息。 为什么你的脱衣舞女显得很空虚? 您正在使用的strlen的实现可能围绕一个define strlen someothername_strlen进行包装。 调试程序可能不支持对函数正确定义或某些其他修饰符。 你需要做一些像ilen=strlen(“test”)这样的事情,然后在你的手表中检查ilen。 通常情况下,您可以调用手表中的功能。例如,尝试定义以下函数,然后在手表中调用它:
结果你的手表里可能会有5个。 |
4
0
strlen返回一个整数,所以我假设您的意思是它返回“0”。 另外,按照您指定数据类型的方式,我不能很清楚它是const char*还是const char**。如果是后者,那么您需要确保将**取消引用为单个*。 我猜字符串以一个空字节开始,这就是它返回0的原因。 |
5
0
在C++中,函数总是返回声明的类型返回的值。自从
唯一能做的
可能地
返回是
这通常是静态类型语言(如C++)的特性。在动态类型语言(perl、python、ruby、php等)中,函数可以决定每次调用任何类型的值。 |
6
-2
它不能返回虚空。void是缺少返回值,因此不能返回它。 你怎么检查空虚呢?void不是一个值。请演示一下你是如何变得空虚的。它是编译时还是运行时?
如果你真的有一个系统
|
Dima Malko · 如何在指定符号前添加符号? 2 年前 |
shekharsabale · 从列表元素捕获子字符串 2 年前 |
Manny · 如何比较Perl中的字符串? 2 年前 |
Manan Girdhar · 拆分字符串并仅在java中使用第二部分 2 年前 |
AnxiousLuna · Python使用len()获取数组索引数 2 年前 |
antonoyaro8 · 数据帧中每列上的Grepl 2 年前 |