我班里有固定的struct timespec
成员。我应该如何初始化它?
我得到的唯一疯狂的想法是派生出我自己的timespec
并给它一个构造函数。
非常感谢!
#include <iostream>
class Foo
{
private:
const timespec bar;
public:
Foo ( void ) : bar ( 1 , 1 )
{
}
};
int main() {
Foo foo;
return 0;
}
编译完成但出现错误:source.cpp: In constructor 'Foo::Foo()': source.cpp:9:36: error: no matching function for call to 'timespec::timespec(int, int)' source.cpp :9:36:注意:候选人是:在 sched.h:34:0、pthread.h:25、/usr/lib/gcc/i686-pc-linux-gnu/4.7.2/ 中包含的文件中。 ./../../../include/c++/4.7.2/i686-pc-linux-gnu/bits/gthr-default.h:41,来自/usr/lib/gcc/i686-pc-linux -gnu/4.7.2/../../../../include/c++/4.7.2/i686-pc-linux-gnu/bits/gthr.h:150,来自/usr/lib/gcc /i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/ext/atomicity.h:34,来自/usr/lib/gcc/i686 -pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/ios_base.h:41,来自/usr/lib/gcc/i686-pc -linux-gnu/4.7.2/../../../../include/c++/4.7.2/ios:43,来自 /usr/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7 .2/ostream:40,来自 /usr/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/iostream:40 ,来自 source.cpp:1: time.h:120:8: note: timespec::timespec() time.h:120:8: note: 候选人期望 0 个参数,2 个提供 time.h:120:8: note : constexpr timespec::timespec(const timespec&) time.h:120:8: 注意:候选人需要 1 个参数,2 个提供 time.h:120:8: 注意: constexpr timespec::timespec(timespec&&) time.h:120 :8: 注意:候选人期望 1 个参数,提供 2 个参数7.2/iostream:40,来自 source.cpp:1: time.h:120:8: 注意:timespec::timespec() time.h:120:8: 注意:候选人需要 0 个参数,提供 2 个 time.h: 120:8: 注意: constexpr timespec::timespec(const timespec&) time.h:120:8: 注意: 候选人需要 1 个参数,提供 2 个 time.h:120:8: 注意: constexpr timespec::timespec(timespec&&) time.h:120:8:注意:候选人需要 1 个参数,提供 2 个参数7.2/iostream:40,来自 source.cpp:1: time.h:120:8: 注意:timespec::timespec() time.h:120:8: 注意:候选人需要 0 个参数,提供 2 个 time.h: 120:8: 注意: constexpr timespec::timespec(const timespec&) time.h:120:8: 注意: 候选人需要 1 个参数,提供 2 个 time.h:120:8: 注意: constexpr timespec::timespec(timespec&&) time.h:120:8:注意:候选人需要 1 个参数,提供 2 个参数提供 2 个提供 2 个