我已完成该计划,但我收到一个错误。它表示在此函数中未初始化使用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。我尝试使用不同的变量,我初始化了变量,但它仍然没有用。有人可以帮我弄清楚我做错了什么。我把时间(总计,小时,分钟,秒);
答案 0 :(得分:1)
你的函数原型在这里是不正确的:
void time(int, int, int, int);
应该是:
void time(int, int&, int&, int&);
一旦修复(大部分),你的警告就会消失。你仍然有一些其他的错误,例如你使用seconds
作为输入变量,但是你放弃了这个,而是将未初始化的变量total
传递给你的函数 - 你应该只是使用total
作为输入变量并摆脱它seconds
。