- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是C语言的新手,我在互联网上找到了这个关于字符串和数组的教程,并尝试编写该程序。他们正在使用 eclipse,我正在使用 Visual Studio 2010...请帮助和解释。我遇到这些问题:
error C2143: syntax error : missing ';' before 'type'
error C2143: syntax error : missing ';' before 'type'
error C2143: syntax error : missing ')' before 'type'
error C2143: syntax error : missing ';' before 'type'
error C2065: 'cp' : undeclared identifier
error C2100: illegal indirection
warning C4552: '!=' : operator has no effect; expected operator with side-effect
error C2059: syntax error : ')'
error C2065: 'cp' : undeclared identifier
error C2143: syntax error : missing ';' before '{'
error C2065: 'cp' : undeclared identifier
error C2100: illegal indirection
这是代码:
#include <stdio.h>
#include <conio.h>
int main(char argc, char**argv){
char s[] = "string";
printf("string is: %s\n", s);
for(char *cp = s; *cp !=0; ++cp) {
printf("char is %c\n", *cp);
}
getch();
}
最佳答案
Microsoft 的 C 编译器仅实现 C90 标准(加上一些扩展)。它不完全支持较新的 C99 或 C11 标准。请参阅(并投票!)this bug report on MS Connect鼓励他们添加对现代 C 的支持。This blog entry来自编译器团队的信息还包含一些相关信息。
结果是,您无法在 for
循环的初始化中声明变量。事实上,唯一可以声明变量的地方是 block 的最顶部。
如果将 cp
的声明移至方法 block 的顶部,它将可以正常编译。
int main(char argc, char**argv){
char s[] = "string";
char *cp = s;//move to here
printf("string is: %s\n", s);
for(; *cp !=0; ++cp) {
printf("char is %c\n", *cp);
}
getch();
return 0;// you should return some value
}
或者,您可以在函数体内引入新的 block 作用域。
关于c - 错误 C2065 : 'cp' : undeclared identifier,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15714183/
关闭。这个问题需要debugging details .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 5年前关闭。 Improve this question 我在
我的代码即将完成,但它给了我这个错误:“curtemp:未声明的标识符”。和“prevtemp:未声明的标识符”和“缺少”;”在类型'之前(最后一个错误是在“float curtemp = curre
我有两个存储过程,第一个参数带有静态,并且运行良好但是当我使用动态参数时,它给了我一个错误未声明的变量:limitvar 1/程序 `DELIMITER $$ DROP PROCEDURE IF EX
我收到这个奇怪的错误: app_server.c: In function ‘wasFeedRead’: app_server.c:269:14: error: ‘tmp’ undeclared (f
我的编译器和我无法就声明达成一致.. game *copyGame(game *game) { game *copy = newGame(game->size); copy->size = g
我收到错误“currentUpdateMethod”未声明(首次在此函数中使用)。 this 引用的变量 currentUpdateMethod 是在头文件中声明的 SEL 类型的实例变量。因为构建到
我正在使用 linux c 中的克隆功能。 但是,当我尝试编译我的代码时遇到错误 CLONE_VM undeclared (first use in this function)。 我去谷歌寻找解决方
为什么在编译 GLSL 几何着色器时会出现此错误? ERROR: 0:15: 'gl_VerticesIn' : undeclared identifier 这是着色器: // makes wiref
当我尝试编译我的程序时,我在下面收到此错误,但我已经包含了包含“LittleMonkey”类声明的头文件。 1>------ Build started: Project: Estrellas, Co
在以python-2.7.6作为引用编译VC++ 2008项目时,出现以下错误 Python27/symtable.h(55): error C2065: 'mod_ty': Undeclared I
我试图在 Delphi XE2 中使用 randomrange 函数,但由于某种原因,它在尝试运行它时不断给我一个未声明的标识符错误,这是我的代码。 var Form3: TForm3; nu
来自 the web我知道 C 包含 NUL 关键字。 编译时出现错误 NUL undeclared first use in this function' 我的代码片段: for (;;) {
我正在使用 Eclipse BPEL Designer 和 Apache ODE。然后我尝试在 catalina.out 中部署我的流程,但收到错误 org.apache.ode.bpel.iapi.
我有以下代码: for(int iY=0;iY<(Height-YRemainder);iY=iY+16); { for(int iX=0;iX<
我尝试在程序中使用结构,但收到一堆错误消息,指出 time1、time2 和 hourDif 是未声明的标识符。我以为我按照你应该的方式声明了这些结构,所以我对问题是什么感到困惑。 代码如下: #in
我正在使用信号量创建生产者和消费者文件以进行同步。我创建了一个定义 sem_t 变量的结构。 sem_t 变量之一是互斥体。 Mutex 代表互斥。但是,当我编译代码时出现错误,提示“互斥体”未声明。
我遇到了这个问题: LOWORD 未声明 使用这段代码: case WM_COMMAND: { if (lParam==0) {
抱歉我的英语不好。 我的代码 #include int main(void) { CONDITION_VARIABLE cond; return 0; } 编译时出
我正在尝试为对象设置安全权限。这是代码: PROCESS_INFORMATION pi = {0}; STARTUPINFO si = {0}; si.cb = sizeof(
关于导致此编译时错误的原因的任何想法? 基本设置: main.cpp #include #include "GroupTheorizer.h" int main() { // ...
我是一名优秀的程序员,十分优秀!