我正在尝试使用别名std::chrono
,但std::chrono::duration_cast<std::chrono::seconds>
会引发编译错误。我包含了<chrono>
头文件。以下是代码:
#include <chrono>
class abc {
public:
using co = std::chrono; // Throwing compilation error
using coDurationCast = std::chrono::duration_cast<std::chrono::seconds>; // Throwing compilation error
using timeType = std::chrono::time_point<std::chrono::system_clock>; // Surprisingly this is working fine
};
错误:
error: ‘chrono’ in namespace ‘std’ does not name a type
error: ‘std::chrono::duration_cast’ in namespace ‘std::chrono’ does not name a template type
我无法理解为什么会抛出此错误。令人惊讶的是,该别名适用于std::chrono::time_point<<std::chrono::system_clock>>
。
谁能帮助我理解为什么会抛出这个错误?