VS 2019 新报错,但是没有报错? C++
New error in VS 2019, but there is no error? C++
我已经在一个项目上工作了一段时间,发布了许多稳定的构建等。
然而今天,我在一行代码中遇到了 3 个错误(在一页只有 17 行的代码中),这些错误已经运行了一年多了。
我将在下面显示“损坏的代码”。
唯一的问题是,没有错误。没有红色下划线或任何实际问题,没有任何更改或我能想到的任何内容。我今天对该项目进行了一次小修改,它与该特定代码完全无关,除了调用其中的两个函数之一。被调用的函数甚至不是正在中断的函数。
最糟糕的是,几乎相同的项目备份编译没有问题。同样,只有 1 个不相关的小编辑不同。
Visual studio 错误列表显示三个错误;
错误 C3083 'chrono': '::' 左边的符号必须是类型
错误 C2039 'time_point': 不是 'std' 的成员
错误 C2061 语法错误:标识符 'time_point'
这是有问题的代码。
#ifndef _INPUT_HPP
#define _INPUT_HPP
#include "../Structure/Struct.hpp"
namespace Input
{
bool IsPressed(int virtual_key);
namespace Mouse
{
void Lerp(Vector2 pos, double animation, double repeat_delay, std::chrono::time_point<std::chrono::steady_clock> f_excess);
}
}
#endif
所有错误都来自第 12 行 - 开头为:void lerp
你不知道#include <chrono>
,所以编译器当然不知道这些符号。
您可能一直在间接包含它并停止,因为您在其他地方删除了一些其他 #include
指令。不要依赖间接的 #include
s——你在这里使用它,你应该在这里有 #include <chrono>
。参见 include-what-you-use。
我已经在一个项目上工作了一段时间,发布了许多稳定的构建等。 然而今天,我在一行代码中遇到了 3 个错误(在一页只有 17 行的代码中),这些错误已经运行了一年多了。 我将在下面显示“损坏的代码”。 唯一的问题是,没有错误。没有红色下划线或任何实际问题,没有任何更改或我能想到的任何内容。我今天对该项目进行了一次小修改,它与该特定代码完全无关,除了调用其中的两个函数之一。被调用的函数甚至不是正在中断的函数。 最糟糕的是,几乎相同的项目备份编译没有问题。同样,只有 1 个不相关的小编辑不同。 Visual studio 错误列表显示三个错误; 错误 C3083 'chrono': '::' 左边的符号必须是类型 错误 C2039 'time_point': 不是 'std' 的成员 错误 C2061 语法错误:标识符 'time_point'
这是有问题的代码。
#ifndef _INPUT_HPP
#define _INPUT_HPP
#include "../Structure/Struct.hpp"
namespace Input
{
bool IsPressed(int virtual_key);
namespace Mouse
{
void Lerp(Vector2 pos, double animation, double repeat_delay, std::chrono::time_point<std::chrono::steady_clock> f_excess);
}
}
#endif
所有错误都来自第 12 行 - 开头为:void lerp
你不知道#include <chrono>
,所以编译器当然不知道这些符号。
您可能一直在间接包含它并停止,因为您在其他地方删除了一些其他 #include
指令。不要依赖间接的 #include
s——你在这里使用它,你应该在这里有 #include <chrono>
。参见 include-what-you-use。