c++ - 分配给非空函数(不返回任何内容)可以更改值吗?

标签 c++

我在我的程序中遇到了这个问题,它正在产生问题。让我举个例子来解释一下:

#include<iostream>

int func(){
        if(1==0) return 100;
}

int main(){

        int x=99;
        x= func();
        std::cout<<"Value of x: " << x <<std::endl;
}

我原以为输出会是99,但输出是0,这是怎么回事?

最佳答案

它会导致未定义的行为。条件为假,因此函数没有返回值。

关于c++ - 分配给非空函数(不返回任何内容)可以更改值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6930419/

相关文章:

c++ - 初始化一个线程,它是构造函数内部的成员变量

数组名称的 C++ 表示法

c++ - 为什么这个 C++ 成员初始值设定项列表不起作用?

c++ - 当已经使用信号量时,为什么每个交换链命令缓冲区都需要 VkFence?

c++ - 如何从对象/类中找到第一个字段?

c++ - 从外部关闭OleCreatePropertyFrame

c++ - 在编译时创建一个数组

c++ - 如何使我的 vector 增长到最初未知的大小?

C++ 将方法指针作为模板参数传递

c++ - std::unique_ptr 构造函数行为