为什么这段代码会导致编译错误
Why does this code lead to Compile Error?
我有去年的试卷,我一直在复习。我有一点有问题。正如你可以看到下面的代码,我的老师说给定的代码将导致编译错误,但我在我的计算机上的Visual Studio上尝试了它,它与输出一起工作:4.0代码是:
float x = 3.0;
float y = 2.0;
int j = 10;
int k = 4;
j = j / k + y;
我将参加明天的考试。我应该写些什么作为答案?
我在这里只看到两个问题:
x
变量未使用,如果编译器设置为对未使用的变量启用警告,并且您已要求编译器将所有警告转化为错误,则可能是错误。但是,使用默认的编译器设置,它通常会编译得很好- 赋值语句将
float
值存储在int
变量中,这可能是您的老师正在处理的问题。但是,这种转换是自动的,不会导致错误(但可能会生成警告(
换句话说,你的老师似乎错了,实际上并没有尝试编译这段代码。
正如其他人所说,如果你的老师是合理的,"代码需要封装在int main()
函数中"也是一种很好的解决问题的方法。
如果你因为说没有编译时错误而被打错了,去和老师谈谈并展示他们。出于类似的原因,我成功地反驳了考试中的观点。(我有一个问题问为什么o.ToString;
是C#程序中的编译时错误。教授正在寻找"缺少parens"。正确答案是"o
不在范围内。"(
int main() {
float x = 3.f; // unused-variable warning
float y = 2.f;
int j = 10;
int k = 4;
j = j / k + y;
}
如果你用编译,将用g++编译
g++ -Wall -pedantic -pedantic-errors test.cpp
由于未使用x
,您将只收到一条警告。
相关文章:
- std::is_base_of表示ctor编译错误
- Qt5:使用QCommandLineParser类时出现奇怪的编译错误
- 如何修复sfml c++代码编译错误
- 使用 MATLAB 编码器生成C++代码:编译错误"undefined reference to `rgb2gray_tbb_real64'"
- 使用外部SDK工具链文件在VisualStudio上生成项目编译错误
- vscode下的Arduino代码出现意外编译错误
- 第三方 API 中的编译错误 - Visual Studio
- std::cout输出int时出现编译错误
- 奇怪的代码抛出编译错误模板< J,int aSize=10> C2143:语法错误:在"<"之前缺少";"
- 提升图广度优先搜索前置编译错误
- C++ 中的编译错误:未定义对"主"的引用 collect2:错误:ld 返回 1 个退出状态
- 使用带有 ref 参数的成员函数创建线程时出现编译错误
- 我在C++中遇到了这个奇怪的编译错误
- 在C++中使用 Catch 测试框架编译错误"error: expected ';' at end of declaration list"
- 使用 std::enable_if 限制派生类的模板参数时出现编译错误
- 现代OpenGL和GLEW Libraray的编译错误
- C++ 编译错误:意外的类型名称"字符串":预期的表达式
- C ++程序编译错误,找不到/访问文件
- 使用直接大括号初始化时,C++ 编译错误"声明末尾的预期";"
- 为什么传递非静态成员函数会导致编译错误?