【发布时间】:2014-07-07 17:44:16
【问题描述】:
我正在尝试在 Visual Studio 中实现这样的 C 函数,我关注了 Creating a C Project in Visual Studio
void changeParameters(int &a, int n) {
for (int i=0; i<n; ++i) {
printf("some text goes here");
}
}
但是,我收到以下错误
- 语法错误&
- 未声明的标识符 i
我尝试过 VS 2008 和 2010,但同样的错误
这是 C99 的功能吗?我记得我可以在 Visual Studio C++ 6.0 中编译这种代码
【问题讨论】:
-
您可能想将
int &a更改为int *a(这意味着更新函数主体中对a的任何引用),但因为您从不使用a无法确定。 -
@感谢大家的及时回复。我强制文件编译为 C++,现在可以了
-
你是如何强制它编译为 C++ 的?如果您使用
.cpp后缀命名它,它应该被自动视为 C++。如果您将名称保留为blah.c,但强制它编译为 C++,那么您就是在自找麻烦。 -
@KeithThompson 抱歉用错了词,我想强调这种代码应该用 C++ 编译器编译。在 VS 中设置 Default 将导致它根据文件扩展名选择 C 或 C++ 编译器
-
如果您没有特别的理由使用旧版本,您应该使用 Visual Studio 2013 来获得对 C 中 for-loops 初始声明的支持。
标签: c visual-studio function c99 undeclared-identifier