我是C ++编码的初学者,我正在试图弄清楚我的主要功能放在哪里。我知道我不能把它放在定义之前,但是当我把它放在那之后,我也得到了一个错误。有人可以帮我弄清楚我的主要功能放在哪里吗?
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
using namespace std;
string outputTimeComponents(int numSecs)
{
int n;
char buffer[10];
int hours, minutes, seconds, secsLeft;
cout << "Write a number between -100 and 86400" << endl;
cin >> numSecs;
if (numSecs >= 0) {
hours = numSecs / 3600;
secsLeft = numSecs % 3600;
minutes = secsLeft / 60;
seconds = secsLeft % 60;
}
else {
return "The program cannot go back in time";
}
n = sprintf(buffer, "The time is %d hours, %d minutes, and %d seconds", hours, minutes, seconds);
return buffer;
}
答案 0 :(得分:1)
如果将它放在函数outputTimeComponents
和包含之间,则必须为函数键入原型。这意味着您在上一个string outputTimeComponents(int);
之后键入#include...
,因此编译器知道,有一个名为outputTimeComponents的东西,它需要一个Integer值并提供一个字符串。它看起来像这样:
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
string outputTimeComponents(int);
using namespace std;
int main() {...}
string outputTimeComponents(int numSecs) {...}
也可以在cpp文件的末尾写下你的main()。然后编译器首先编译上面的所有内容,并在他到达main()时知道你的函数。
有了这些问题,请始终考虑编译器的作用。
顺便说一句,如果你想使用那种类型,你需要#include <string>
。