变量在此函数中使用未初始化

Variable is used uninitialized in this function

本文关键字:初始化 函数 变量      更新时间:2023-10-16

我已经完成了程序,但是我遇到了一个错误。 它说总,分钟,小时,秒在此函数中使用未初始化。我尝试使用不同的变量,并初始化了变量,但它仍然不起作用。有人可以帮我弄清楚我做错了什么。我把time( total,hours, mins, secs);

#include <iostream>
using namespace std; 
void time(int, int, int, int); 
int main() 
{ 
 int total; 
 int hours;
 int mins;
 int seconds;
 int secs; 
 cout << "Enter the number of seconds: "; 
 cin >> seconds; 
  time( total,  hours,   mins,  secs); 
 cout << "The number of hours is: " << hours << endl; 
 cout << "The number of minutes is: " << mins << endl; 
 cout << "The number of seconds is: " << secs << endl; 
 return 0; 
} 
void time(int total, int &hours, int &min, int &sec) 
{ 
    int rem1; 
    hours = total / 3600; 
    rem1 = total % 3600; 
    min = rem1 / 60; 
    sec = rem1 % 60; 
    return ; 
} 

编译器输出:

15:38: warning: 'total' is used uninitialized in this function [-Wuninitialized]
15:38: warning: 'hours' is used uninitialized in this function [-Wuninitialized]
15:38: warning: 'mins' is used uninitialized in this function [-Wuninitialized]
15:38: warning: 'secs' is used uninitialized in this function [-Wuninitialized]

我已经完成了该程序,但是出现一个错误。 它说总计,分钟,小时,秒在此函数中使用未初始化。我尝试使用不同的变量,并初始化了变量,但它仍然不起作用。有人可以帮我弄清楚我做错了什么。我把时间(总计,小时,分钟,秒(;

您的函数原型在这里不正确:

void time(int, int, int, int); 

它应该是:

void time(int, int&, int&, int&); 

一旦修复(大部分(,您的警告应该会消失。不过,您仍然有一些其他错误,例如,您使用seconds作为输入变量,但随后丢弃它,而是将未初始化的变量total传递给您的函数 - 您可能应该只使用 total 作为您的输入变量并摆脱seconds