2015-07-19 192 views
1

我需要声明一个类中的以下变量:什么是C++ 11中std :: chrono :: high_resolution_clock :: now()的类型?

auto gameStartClock = std::chrono::high_resolution_clock::now(); 

不过,我收到此错误消息gcc 5.1.0(用C++ 11启用),每当我试着这样做:

<file>.hpp:274: error: non-static data member declared 'auto' 
auto gameStartClock = std::chrono::high_resolution_clock::now();                ^
non-static data member declared 'auto' 

所以我猜这个错误会在我用正确的类型替换auto后消失。然而,我在那里找到的每个例子都使用auto

它的类型是什么?

注:我试着用std::chrono::time_point几个模板,但没有取得成功。不确定哪些是正确的。

+1

只需[阅读一些文件(HTTP:// WWW。 cplusplus.com/reference/chrono/high_resolution_clock/now/)?容易peasy:http://coliru.stacked-crooked.com/a/fdf13b14661eb9f3 –

+1

我投票结束这个问题作为题外话,因为所需的信息是随时可用的任何C++标准库的参考。 –

+0

你的链接正是我在笔记中提到的,我已经试过了。它不起作用。 – thiagowfx

回答

6

该类型是std::chrono::time_point<std::chrono::high_resolution_clock>

从手册:http://en.cppreference.com/w/cpp/chrono/high_resolution_clock/now

编辑:正如在评论中轨道指出的亮度种族,你也可以使用std::chrono::high_resolution_clock::time_point

+2

aka'std :: chrono :: high_resolution_clock :: time_point' –

+0

为什么我可以交换它们? – user

+0

它们是一样的,'std :: chrono :: high_resolution_clock :: time_point'只是'std :: chrono :: time_point 的一个typedef' – developerbmw

相关问题