如何解决Visual C ++编译器错误?
我在下面尽可能减少了案情。
#include <vector>
#include <atomic>
#include <chrono>
using namespace std;
class Unused
{
private:
vector<vector<unsigned>> data;
atomic<unsigned> counter;
};
class Timer
{
private:
chrono::time_point<chrono::high_resolution_clock> begin;
public:
void start()
{
begin = std::chrono::high_resolution_clock::now();
}
};
int main()
{
Unused unused;
vector<Timer> timers;
timers.resize(1);
timers[0].start();
}
我将其编译为(请注意特定标志):
cl /O2 /GL /EHsc driver.cpp
这是
Microsoft (R) C/C++-Optimierungscompiler Version 19.27.29111 für x86
Microsoft (R) Incremental Linker Version 14.27.29111.0
但是我也尝试了其他几个最新版本。可执行文件段出现内存访问冲突。它适用于g ++,如果我更改了编译标志,它也适用。如果我进一步简化代码,它也可以工作。
这是编译器错误吗?
解决方法
这确实是一个编译器错误https://developercommunity.visualstudio.com/content/problem/1157189/possible-compiler-bug-1.html。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。