我很难弄清楚我的主要功能放在哪里

时间:2016-06-22 02:09:47

标签: c++ function c++11 main

我是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;

}

1 个答案:

答案 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>