外部自动变量没有初始化器

extern auto variable has no initializer

我需要在我的 C++ 程序中使用全局时间戳 (std::chrono::high_resolution_clock::now())。我在头文件中声明了 Header.h:

#include<chrono>
using namespace std;
extern auto start;

我想在 main 中初始化一个值,所以在 main.cpp 中,我做了:

#include"Header.h"
#include<chrono>
using namespace std;
auto start;
int main(){
   start = std::chrono::high_resolution_clock::now();
}

然而,编译时,我得到:

error: declaration of ‘auto start’ has no initializer

谁能告诉我我做错了什么?谢谢!

auto 应该如何推断 start 的类型?
您需要声明类型

extern std::chrono::high_resolution_clock::time_point start;