C ++ Инициализация члена структуры констант
постояннаяstruct timespec
член в моем классе. Как я должен его инициализировать?
Единственная сумасшедшая идея, которую я получил, - это получить свою собственную.timespec
и дать ему конструктор.
Большое спасибо!
#include
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: ошибка: нет подходящей функции для вызова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: примечание: кандидат ожидает 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 предоставлено