问题标签 [c1001]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
190 浏览

.net - 从 char * 到 System::String 的转换会导致编译器内部错误

我有一个字符串作为char *. 我需要转换为System::String. 在尝试了各种事情之后,我得到了编译器内部错误!

原始代码:

1首先它给出一个警告为forcing value to bool 'true' or 'false' (performance warning). 我在 { ToString 和警告 c4800 } 中找到了解决方案。它告诉我使用类似的东西:

然后它给了我这个错误System::String::String(const wchar_t *, int, int)' : cannot convert parameter 1 from 'signed char *' to 'const wchar_t *'

2然后我把它简化为:

我明白fatal error C1001: An internal error has occurred in the compiler.了,这是其余的细节:

  1. 从细节上看,它表示f:驱动器中的一个文件!我没有那个硬盘。我认为这可能是指DVD ROM?
  2. 我曾尝试将其std::string用作fileName. 结果还是一样。

任何帮助表示赞赏!谢谢。

0 投票
0 回答
177 浏览

c++ - C1001 创建类对象时编译错误

当我使用它创建以下类的实例时,Game newGame;会引发 c1001 错误,指出存在编译器错误。

游戏.h:

主.cpp:

完整错误代码:
严重性代码 描述 项目文件行错误 C1001 编译器发生内部错误。CityOfDwarves C:\Users\Daniel\Documents\Visual Studio 2015\Projects\CityOfDwarves\CityOfDwarves\main.cpp 1

0 投票
4 回答
5420 浏览

c++ - C++ 致命错误 C1001:编译器发生内部错误

在发布模式下编译时出现以下错误。

我正在使用 VS2015 Update 2 RC。

我不确定,但也许这是优化器中的错误?

导致它的代码如下:

窗口.h

窗口.cpp

NativeWindow 是任何操作系统的本机窗口。

这是使用 GCC 5.1 编译的工作代码: https ://ideone.com/4YvjRK

只是为了做个笔记。

如果我将删除继承并用类似的东西替换它。

它会正常工作的!

这是使用 GCC 5.1 编译的相同代码,没有继承: https ://ideone.com/Mu0A42

似乎导致这种行为的原因是从 NativeWindow 派生了 NativeControl。

重现它的步骤如下:

  1. 从 Window 类中删除 dtor 声明和定义。
  2. 尝试构建(而不是重建)。
  3. 编译器会抱怨并给你一堆错误。

1>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\memory(1194): 错误 C2338: 无法删除不完整的类型 1> 1> 1>C:\Program Files (x86)\ Microsoft Visual Studio 14.0\VC\include\memory(1195):警告 C4150:删除指向不完整类型“Yalla::Window::NativeControl”的指针;没有调用析构函数 1>
d:\Users\Eyal\Projects\Code\Yalla\core\src\runbox\include\window.h(13): 注意:参见 'Yalla::Window::NativeControl' 1>
窗口的声明.cpp 1> 1>构建失败。

  1. 将 dtor 添加回 Window 类。
  2. 再次构建(不是重建)。
  3. 此时编译器应该会报错以下错误“致命错误 C1001:编译器发生内部错误”。

有趣的是,重建似乎可以解决问题!

我想要实现的基本上是将 NativeWindow 的实际实现放在不同的文件中,主要是为了简单,而不是关于可重用性。

我想不是在继承中这样做可能会混淆 unique_ptr 模板,我还可以通过组合来做到这一点,并通过 getter 公开 NativeWindow 的实例,它可能会起作用,但问题是是否有更好的方法来做到这一点?

我在很长一段时间没有接触它之后重新学习 C++,所以如果我正在做的一些事情没有意义,请告诉我!

更新:

C++ 标准说:

unique_ptr 的模板参数 T 可能是不完整类型。

我在 Herb Sutter 的博客中找到了一篇关于它的帖子。

0 投票
1 回答
1113 浏览

c++ - 当我使用 boost 构建 CAGL 演示时,如何修复错误 1001?

当我尝试构建 CAGL 演示时遇到此错误。

错误 C1001 内部编译器错误 I:\ThirdPartLIB\boost_1_61_0\boost\type_traits\common_type.hpp 43 1 AABB_demo

发现代码是 Boost 1.61.0 的一部分

我搜索错误并阅读 MSDN 上的通知,然后我看到该项目使用 /o2。所以我改变并尝试不同的选项,它不起作用。

0 投票
2 回答
901 浏览

visual-c++ - 在 VC++ VS6 中,一个简单的 printf 给出了致命错误 C1001: INTERNAL COMPILER ERROR

我在 Windows 7 上使用 Visual Studio 6 和 vc++,并编写了一个简单的 helloworld 程序,该程序默认由 VS6 创建。但由于 printf 它给出了以下错误:

错误 :

为什么 printf 和 sprintf 不起作用?

0 投票
3 回答
1351 浏览

c++ - Visual Studio 2015 致命错误 C1001

我正在尝试构建一个项目(SUBSYSTEM:WINDOWS),我的主要看起来像这样:

构建发布版本时,我在 VisualStudio Community 2015 v. 14.0.25431.01 中收到以下错误:

几周前,我能够使用与我现在完美使用的相同编译器设置和相同代码构建项目的发布版本。我试图删除 MSDN 中推荐的优化,但这些优化不起作用。

但是我注意到了一些奇怪的事情:

当我删除 Release 文件夹中的 3 个文件(.exe .iobj .ipdb)中的任何一个并重建解决方案时,它工作得很好(正在创建 3 个文件的新版本)。当我更改项目中的任何设置或仅添加一行代码并尝试重建时,会发生相同的错误。如果我再次删除这 3 个文件之一,我可以再次构建。

我认为这种行为可能是由我不知道的一些编译器设置引起的,但我不确定,因为我不是 VisualStudio 专家。

0 投票
2 回答
298 浏览

c++ - freopen 和 cout 创建内部错误

我正在尝试读取和写入一些文件,但是每次我尝试std::cout对我的output.out文件进行某些操作时,都会收到“错误 C1001,编译器中发生内部错误”。

为什么 ?

(我_CRT_SECURE_NO_WARNINGS在预处理器定义中使用以便能够使用freopen()

编辑:正如 Nighteen 所说,我的代码中有一些错误(n++,没有矢量调整大小,现在已更正)但是错误仍然存​​在:代码正在这种状态下编译,但是一旦我尝试将 cout a字符串,出现相同的问题,就像<<" "在我的std::cout<< x[j] << h[j] << std::endl;

0 投票
2 回答
98 浏览

c++ - msvc 和折叠表达式

我在 Windows 上编译此代码时遇到问题。

这段代码可以在 Linux 上正确编译,包括 clang 和 gcc。我正在使用 msvc 19.29。

Msvc 退出并显示不太有用的错误 C1001。

目标是能够传递多个Object要删除的引用,避免多次调用同一个函数。

你知道为什么 MSVC 编译失败吗?

编辑 :

这是实际文件:

https://github.com/zcorniere/logger-cpp/blob/windows/include/Logger.hpp

https://github.com/zcorniere/logger-cpp/blob/windows/example/example.cpp

使用参数 BUILD_EXAMPLE 打开的 cmake 构建

EDIT2:这是 msvc 错误消息,抱歉我忘记了

0 投票
0 回答
44 浏览

visual-c++ - Visual Studio 会自动报告内部编译器错误吗?

c1001 目前说

此类错误可以通过禁用优化来解决,但如果您的计算机硬件运行正常(没有内存错误等),这是编译器中的错误,Visual Studio 将(默认情况下)尝试向 Microsoft 报告

我认为错误是手动报告给https://developercommunity.visualstudio.com/或通过Visual Studio的帮助 > 发送反馈 > 报告问题...。这让报告者可以创建从 NDA 代码中抽象出来的最小化示例,并且对编译器开发人员开始时更有用。所以我认为错误不应该自动报告。

如果它们被自动报告:

  • 具体设置在哪里?
  • 错误是 IDE 还是编译器报告的?
  • 自动报告中包含哪些信息?