问题标签 [compiler-errors]

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 投票
6 回答
2999 浏览

c - 为什么 main() 没有最后没有返回的编译器错误?

我正在编写 C 脑预告片:编写标准的 Hello-World 程序,不带分号。

到目前为止,我最好的答案是:

但我不明白为什么我没有得到编译器错误(Visual Studio):

我尝试了其他声明了返回类型但缺少返回语句的函数,并得到了这个编译器错误。


请注意,我也尝试过:

并且不要在 foo 上得到编译器错误。如果我删除“exit(0)”,我得到编译器错误。显然编译器知道“退出”是一个特殊功能?这对我来说似乎很奇怪。

0 投票
4 回答
36171 浏览

c++ - 解决“类内只能初始化静态常量整数数据成员”编译错误

以下用于创建全局对象会导致编译错误。

以下是编译错误:

  1. 如何像我在这里尝试的那样正确创建全局类对象。
  2. 以及如何解决“只能在类中初始化静态 const 整数数据成员”
  3. 基本上我该如何修复其余的错误,以便编译它?

我喜欢在文件范围内声明全局类对象(我喜欢在文件范围内声明所有全局变量),因为当我必须创建单独的源文件并执行“extern”时,一切都会变得非常复杂,对我来说永远不起作用。虽然,我确实想最终弄清楚如何做到这一点......似乎我看到的每个教程都不会编译,除非它编译,否则我不知道如何重新创建它!

如果我可以编译它......那么我可以成功地学习如何做到这一点。因此,如果有人可以将上面的内容重写为它从字面上复制并粘贴到 Visual C++ Express 2008 中并且可以工作的地方,我最终将能够弄清楚如何重新创建它。看到这个问题的解决方案,我感到非常兴奋!只是我无法让全局对象正常工作!欢迎任何其他关于声明全局类对象的信息......或任何与此相关的信息!

0 投票
2 回答
5046 浏览

java - Zxing 编译错误

由于我不拥有用于开发目的的 G1,因此我正在尽力使用模拟器。这就是说,我正在尝试使用 ZXing(Zebra Zrossing)库扫描我的 sdCard 中的 JPEG 图像或 PNG 图像。

我试图更改 Android 项目中的代码,所以它会从 sdCard 中的图像扫描,而不是从相机扫描,没有任何运气。

我接下来所做的可能是我问题的根源。

我尝试在一个新的 Android 项目中使用 JAVASE 代码为“修改后的”CommandLineRunner 提供图像,事情是这样的:

Eclipse 将构建该项目,但不会运行它。虚拟机日志向我抛出了这条消息:

**02-08 20:47:45.916: WARN/dalvikvm(619): VFY: 无法解析静态方法 939: Ljavax/imageio/ImageIO;.read (Ljava/io/File;)Ljava/awt/image/BufferedImage ; 02-08 20:47:45.926: WARN/dalvikvm(619): VFY: 在 0x0004 拒绝操作码 0x71 02-08 20:47:45.926: WARN/dalvikvm(619): VFY: 拒绝 Lcom/magoco/fread/FRead; .decode2 (Ljava/io/File;Ljava/util/Hashtable;Ljava/lang/String;)Ljava/lang/String; 02-08 20:47:45.926: WARN/dalvikvm(619): Verifier 拒绝类 Lcom/magoco/fread/FRead;02-08 20:47:45.926: WARN/dalvikvm(619): 类初始化在 newInstance 调用中失败 (Lcom/magoco/fread/FRead;) 02-08 20:47:45.926: DEBUG/AndroidRuntime(619): 关闭VM 02-08 20:47:45.926: WARN/dalvikvm(619): threadid=3: thread exiting with uncaught exception (group=0x40010e28) 02-08 20:47:45.937: ERROR/AndroidRuntime(619): Uncaught handler:

我在网上搜索了答案,有人说这是 Dalvikvm 上的常见错误,因为可能存在预编译的类或库(真的,在 Eclipse 之外)并且 VM 无法使用它。

我在主要活动中发布我的代码:

}

提前致谢

monn3t

0 投票
5 回答
37076 浏览

c++ - 一个奇怪的 C++ 错误:test.cpp:15: 错误:将 'const *' 作为 '*' 的 'this' 参数传递会丢弃限定符

我在使用一段特定的代码时遇到了一些问题,如果有人能在这件事上给我启发,我将不胜感激,我已在以下示例中隔离了问题:

那么可能导致以下错误的原因是:

test.cpp:15:错误:将 'const testing' 作为 'int testing::test()' 的 'this' 参数传递会丢弃限定符

非常感谢!

0 投票
5 回答
3785 浏览

c# - lambda 表达式中的事件 - C# 编译器错误?

我正在研究使用lamba表达式来允许以强类型方式连接事件,但中间有一个监听器,例如给定以下类

一个事件将被连接为:

但是,这会产生编译器错误:

CS0832:表达式树可能不包含赋值运算符

现在起初这似乎是合理的,尤其是在阅读了关于为什么表达式树不能包含赋值的解释之后。然而,尽管有 C# 语法,但+=不是赋值,它是对Producer::add_MyEvent方法的调用,正如我们可以从生成的 CIL 中看到的,如果我们只是正常连接事件:

所以在我看来这是一个编译器错误,因为它抱怨不允许分配,但没有发生分配,只是一个方法调用。还是我错过了什么……?

编辑:

请注意,问题是“这种行为是编译器错误吗?”。抱歉,如果我不清楚我在问什么。

编辑 2

在阅读了 Inferis 的答案后,他说“此时 += 被认为是赋值”,这确实有些道理,因为此时编译器可能不知道它将被转换为 CIL。

但是,我不允许编写显式方法调用表单:

给出:

CS0571:“Producer.MyEvent.add”:无法显式调用运算符或访问器

所以,我想问题归结为+=在 C# 事件的上下文中的实际含义。它的意思是“为此事件调用 add 方法”还是“以尚未定义的方式添加到该事件”。如果是前者,那么这在我看来是一个编译器错误,而如果是后者,那么它有点不直观,但可以说不是一个错误。想法?

0 投票
8 回答
1868 浏览

.net - Visual Studio 2008 中的错误编译程序

所以我以前从未见过这个问题,也不知道从哪里开始解决这个问题。

我从哪里开始解决这个问题?

我应该提到这是一个带有 VS2008 SP1 的 VS2008 环境,这个解决方案是:
1. VSTO Excel 2007 项目 (C#)
2. 数据访问/服务层 DLL (C#)
3. #2 (C#) 的 MbUnit 测试项目

更新: 我应该补充一点,这几个月都可以正常工作。上周左右我唯一改变的是我已经开始通过 Team Foundation Server (TFS) 编写代码。

更新2: 删除.suo文件工作了一段时间。现在我又遇到了同样的错误....嗯。猜猜我会关闭项目.suo再次删除。

更新 3: VS2008 将允许我编译一次解决方案。第二次尝试时,我得到了错误。如果我退出,删除.suo文件,然后重新打开,我可以再次编译一次。对原因有什么想法吗?这是VS2008 SP1的东西吗?

对于赏金,我正在寻找永久解决方案。

0 投票
3 回答
2474 浏览

c++ - 单元测试一个类是不可复制的,以及其他编译时属性

有没有办法测试编译时错误,但实际上不产生错误?例如,如果我创建了一个不可复制的类,我想测试尝试复制它会产生编译器错误的事实,但我仍然想执行其他运行时测试。

我想这不能像那样简单地完成,但是有没有一种惯用的方法来做到这一点,或者我应该推出自己的解决方案(也许使用脚本编译单独的测试文件并测试结果?)?

注意:我使用 non-copyable 只是为了说明我的观点,所以我对使用 boost::noncopyable 等的答案不感兴趣。

0 投票
3 回答
941 浏览

c# - 奇怪的 C# 编译器错误:循环继承

几天前,我在我们的一个 C# 应用程序中遇到了以下错误。错误消息如下所示:

“继承的接口 '...ResourceManager.ResourcesManager' 在 D:...\Common\ResourceManager\IResourcesManagerView.cs 中的 '...ResourceManager.IResourcesManagerView' 的接口层次结构中导致循环”

这总是发生在我的机器上,但在构建机器上,构建成功的可能性为 50-50。我的类“ResourceManager”实现了一个接口“IResourcesManagerView”,它还实现了几个接口,其中一个是一个名为IInitializable 的通用接口。我找到了以下解决方法:声明一个实现 IInitializable 的虚拟接口 IDummy。

但这对我来说没有任何意义。有没有人遇到过这个问题?我使用 Windows XP、Visual Studio 2005。

0 投票
5 回答
24536 浏览

c++ - linux内核模块链接器警告:“***警告:[] 未定义!” - 有什么办法可以摆脱它们?

在编译相互依赖的 Linux 内核模块时,链接器会给出未定义的符号警告,例如

一旦使用 insmod 或 modprobe 将模块插入内核,未解析的符号就会被解析。不过,有什么办法可以摆脱链接器警告吗?

我已经阅读了关于这个问题的 3 个 Google SERP - 似乎没有人知道答案。当您构建内核模块时,这些链接器警告是否应该是这种方式?

0 投票
11 回答
254415 浏览

c++ - 解决由于类之间的循环依赖而导致的构建错误

我经常发现自己在一个 C++ 项目中面临多个编译/链接器错误,这是由于一些糟糕的设计决策(由其他人做出的 :))导致不同头文件中的 C++ 类之间的循环依赖关系(也可能发生)在同一个文件中)。但幸运的是(?)这种情况发生的频率并不高,让我在下次再次发生时记住这个问题的解决方案。

因此,为了便于将来回忆,我将发布一个具有代表性的问题和解决方案。当然欢迎更好的解决方案。


  • A.h

    /li>

  • B.h

    /li>

  • main.cpp

    /li>