gpt4 book ai didi

c++ - 在 Visual Studio 2015 和 C++ 语言中没有初始化的指针

转载 作者:行者123 更新时间:2023-11-27 22:48:57 25 4
gpt4 key购买 nike

考虑这个简单的代码:

#include "stdafx.h"
#include<iostream>
using namespace std;

int main()
{
void* voidptr;
cout << voidptr << endl;

}

这是错误:The error

当我在 visual studio 2015 中运行它时,出现调试错误,但是当我在代码块中执行此操作时,程序可以正常运行。我在我的教科书中读到我们可以在不初始化的情况下使用指针,但现在我不能在 Visual Studio 中完成。有人知道问题出在哪里吗?

这是我的教科书:Object-oriented programming in c++ by Roabert Lafore

最佳答案

当你编译这个程序时,编译器会警告你使用了 voidptr 而没有在这一行中初始化:`cout << voidptr << endl;

当你运行这个程序时,你会得到这个错误:

enter image description here

这再次告诉您 voidptr 没有被初始化就被使用了。这再清楚不过了。

在 C 和 C++ 中,局部变量没有被初始化,它们包含之前内存中的所有值,这些值是不确定的。现在,当您运行程序的调试版本时,您会收到此调试消息,因为编译器非常友好地告诉您您正在使用未初始化的变量。

尝试运行该程序的发布版本,您不会再收到任何错误,但会显示一些明显随机的值。

关于c++ - 在 Visual Studio 2015 和 C++ 语言中没有初始化的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39742393/

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