Questions tagged «compiler-errors»

在编译阶段生成的错误,通常是由于无效的语法和/或类型引起的。与[运行时错误]比较。

9
为什么我使用@Override得到“必须重写超类方法”?
以下代码在该public void onClick行生成此错误消息。 这行有多个标记 -实现android.view.View.OnClickListener.onClick -new View.OnClickListener(){}类型的onClick(View)方法必须覆盖超类方法 我不明白为什么。该代码摘自我所看到的众多示例。什么可能是错的? private Button audioButton; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); audioButton = (Button) findViewById(R.id.imageButton1); audioButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View button) { if (button.isSelected()) { button.setSelected(false); } else { button.setSelected(true); } …

3
为什么Javac允许某些不可能的转换而不允许其他转换?
如果我尝试将a强制转换String为a java.util.Date,则Java编译器会捕获该错误。那么,为什么编译器不将以下内容标记为错误? List<String> strList = new ArrayList<>(); Date d = (Date) strList; 当然,JVM ClassCastException在运行时会抛出a ,但是编译器不会对其进行标记。 该行为与javac 1.8.0_212和11.0.2相同。


1
模板类中struct的C ++编译器问题
以下代码无法使用gcc或clang进行编译。 template<class T> class foo{}; template<class T> class template_class_with_struct { void my_method() { if(this->b.foo < 1); }; struct bar { long foo; } b; }; 错误消息是 error: type/value mismatch at argument 1 in template parameter list for 'template<class T> class foo' 8 | if(this->b.foo < 1); 该错误是由模板类foo引起的。当写<=而不是<1时,它也会编译。 任何提示表示赞赏吗? CompilerExplorer链接https://godbolt.org/z/v6Tygo
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.