C++11 中 std::chrono::high_resolution_clock::now() 的类型是什么?
What is the type of std::chrono::high_resolution_clock::now() in C++11?
我需要在 class 中声明以下变量:
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
替换为正确的类型后错误就会消失。但是,我在那里找到的每个关于 ::now()
的例子都使用 auto
.
它的类型是什么?
注意:我尝试 std::chrono::time_point
使用几个模板,但没有成功。不确定哪些是正确的。
类型是std::chrono::time_point<std::chrono::high_resolution_clock>
。
来自手册:http://en.cppreference.com/w/cpp/chrono/high_resolution_clock/now
编辑: 正如 Lightness Races in Orbit 在评论中指出的,您还可以使用 std::chrono::high_resolution_clock::time_point
我需要在 class 中声明以下变量:
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
替换为正确的类型后错误就会消失。但是,我在那里找到的每个关于 ::now()
的例子都使用 auto
.
它的类型是什么?
注意:我尝试 std::chrono::time_point
使用几个模板,但没有成功。不确定哪些是正确的。
类型是std::chrono::time_point<std::chrono::high_resolution_clock>
。
来自手册:http://en.cppreference.com/w/cpp/chrono/high_resolution_clock/now
编辑: 正如 Lightness Races in Orbit 在评论中指出的,您还可以使用 std::chrono::high_resolution_clock::time_point