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

时间:2017-03-27 21:05:18

标签: c++

我已完成该计划,但我收到一个错误。它表示在此函数中未初始化使用total,min,hours,sec。我尝试使用不同的变量,我初始化了变量,但它仍然没有用。有人可以帮我弄清楚我做错了什么。我把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]

我已完成该计划,但我收到一个错误。它表示在此函数中未初始化使用total,min,hours,sec。我尝试使用不同的变量,我初始化了变量,但它仍然没有用。有人可以帮我弄清楚我做错了什么。我把时间(总计,小时,分钟,秒);

1 个答案:

答案 0 :(得分:1)

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

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

应该是:

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

一旦修复(大部分),你的警告就会消失。你仍然有一些其他的错误,例如你使用seconds作为输入变量,但是你放弃了这个,而是将未初始化的变量total传递给你的函数 - 你应该只是使用total作为输入变量并摆脱它seconds