我在我的类中有一个不变的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: 在构造函数 'Foo::Foo()' 中:source.cpp:9:36: 错误:没有找到与 '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: 注意: 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个
const timespec bar = { 0, 0 };
- Some programmer dude