2013-07-29 50 views
2

我正在学习C++,我正在尝试使用未包含在dev C++中的头文件完成练习。我已经尝试导入头文件,并且dev C++显示它被列为标头。另外,我已经创建了一个项目,并在编译每个常见问题之前将ccc_time.h文件添加到项目中。下面是我做了什么:错误:无法匹配'(时间)(int,int,int)'

#include <iostream> 

using namespace std; 

#include "ccc_time.h" 

int main() 

{ 
    Time wake_up; 

    wake_up (7, 7, 7); 
    wake_up.add_seconds(1000); 
    cout << wake_up.get_hours() 
     << ":" << wake_up.get_minutes() 
     << ":" << wake_up.get_seconds() << "\n"; 

    Time now; 
    int seconds_left = Time(23, 59, 59).seconds_from(now); 

    cout << "There are " 
    << seconds_left 
    << " seconds left in this day.\n"; 

    return 0; 
} 

我得到的错误是:

[Error] no match for call to '(Time) (int, int, int)'

我缺少什么?

+0

请出示Time类(头)的定义 – OldProgrammer

+0

这行看起来很奇怪 - 诠释seconds_left =时间(23,59,59).seconds_from(现);你不应该在一个对象上调用一个方法,而不是构造器? – OldProgrammer

+0

我们不知道'ccc_time.h'是什么样子。 –

回答

2

如果您呼叫Time(int, int, int)你应该做的构造:

Time wake_up (7, 7, 7); 

如果没有Time应该有operator(int, int, int)

编辑:您可以定义operator(int, int, int)如下:

void Time::operator(int a, int b, int c) 
{ 
    // do something appropriate 
} 
+0

谢谢,但我已经尝试过,并没有帮助。我相信这是dev C++识别头文件的问题。因为我决定首先将头文件添加到scritp中并正确执行。所以有一个头文件的问题,我打电话给它,或者dev C++。 – user2631994

+0

剧本是什么? – cahn

+0

如何使运算符(int,int,int)。 – neel

相关问题