| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 14331 人关注过本帖
标题:这里为什么会出现undeclared identifier呢?
只看楼主 加入收藏
找不到服务器
Rank: 4
等 级:贵宾
威 望:12
帖 子:2937
专家分:1
注 册:2006-8-29
结帖率:33.33%
收藏
 问题点数:0 回复次数:9 
这里为什么会出现undeclared identifier呢?
编译时出现了undeclared identifier,这是怎么回事呢?我已经写了#include "Cpp1.cpp"了,为什么调用另外一个CPP文件中的函数会出现这个错误呢?
ceshi2.cpp
程序代码:
#include "Cpp1.cpp"
#include "stdafx.h"

int main(int argc, char* argv[])
{
    printf("Hello World!\n");
    shuchu();
    return 0;
}

Cpp1.cpp
程序代码:
#include "stdafx.h"
void shuchu()
{
    printf("123");
}

错误列表:
程序代码:
--------------------Configuration: ceshi2 - Win32 Debug--------------------
Compiling...
ceshi2.cpp
G:\pspdev\examp\myproj\ceshi2\ceshi2.cpp(9) : error C2065: 'shuchu' : undeclared identifier
执行 cl.exe 时出错.

ceshi2.exe - 1 error(s), 0 warning(s)


[[it] 本帖最后由 找不到服务器 于 2008-2-2 21:36 编辑 [/it]]
搜索更多相关主题的帖子: identifier undeclared quot include int 
2008-02-02 21:34
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
收藏
得分:0 
将Cpp1.cpp换为Cpp1.h

=×&D o I p R e E n C g T l X&×=
2008-02-02 23:06
找不到服务器
Rank: 4
等 级:贵宾
威 望:12
帖 子:2937
专家分:1
注 册:2006-8-29
收藏
得分:0 
[bo]以下是引用 [un]踏魔狼[/un] 在 2008-2-2 23:06 的发言:[/bo]

将Cpp1.cpp换为Cpp1.h

本身没有这个文件

史上点击数最高的贴
http://bbs.bccn.net/thread-146005-1-1.html
2008-02-03 09:24
yuki
Rank: 2
等 级:新手上路
威 望:5
帖 子:508
专家分:0
注 册:2005-2-4
收藏
得分:0 
把包含主程序的文件中那句#include "stdafx.h"去掉,或者提到最上面去试试看。

我们都在命运湖上荡舟划桨,波浪起伏使我们无法逃离孤行;如果我们迷失方向,波浪将指引我们穿过另一天曙光
2008-02-03 09:58
找不到服务器
Rank: 4
等 级:贵宾
威 望:12
帖 子:2937
专家分:1
注 册:2006-8-29
收藏
得分:0 
一样出现这样的错误
把Cpp1.cpp中的内容复制到ceshi2.cpp中,
程序代码:
#include "stdafx.h"

int main(int argc, char* argv[])
{
    printf("Hello World!\n");
    shuchu();
    return 0;
}
void shuchu()
{
    printf("123");
}

出现了如下错误
G:\pspdev\examp\myproj\ceshi2\ceshi2.cpp(8) : error C2065: 'shuchu' : undeclared identifier
G:\pspdev\examp\myproj\ceshi2\ceshi2.cpp(13) : error C2373: 'shuchu' : redefinition; different type modifiers

史上点击数最高的贴
http://bbs.bccn.net/thread-146005-1-1.html
2008-02-03 10:33
yuki
Rank: 2
等 级:新手上路
威 望:5
帖 子:508
专家分:0
注 册:2005-2-4
收藏
得分:0 
不是,
源文件这么改
#include "stdafx.h"
#include "Cpp1.cpp"

int main(int argc, char* argv[])
{
    printf("Hello World!\n");
    shuchu();
    return 0;
}

在Cpp1.cpp中最上面加一句
#pragma once

对于这样的该法
#include "stdafx.h"

//加个原形声明
void shuchu();

int main(int argc, char* argv[])
{
    printf("Hello World!\n");
    shuchu();
    return 0;
}
void shuchu()
{
    printf("123");
}

至于printf()函数,建议加个头文件#include <stdio.h>,所有手动加的头文件全部放在#include "stdafx.h"后面,否这会出现end of file之类的致命错误。

一会儿我要出去了,有问题的话,我回来给你解决。

我们都在命运湖上荡舟划桨,波浪起伏使我们无法逃离孤行;如果我们迷失方向,波浪将指引我们穿过另一天曙光
2008-02-03 10:43
找不到服务器
Rank: 4
等 级:贵宾
威 望:12
帖 子:2937
专家分:1
注 册:2006-8-29
收藏
得分:0 
[bo]以下是引用 [un]yuki[/un] 在 2008-2-3 10:43 的发言:[/bo]

不是,
源文件这么改
#include "stdafx.h"
#include "Cpp1.cpp"

int main(int argc, char* argv[])
{
    printf("Hello World!\n");
    shuchu();
    return 0;
}

在Cpp1.cpp中最上面加一句
#pragma once

对于这 ...

谢了,问题解决了
#pragma once是什么意思呢?

史上点击数最高的贴
http://bbs.bccn.net/thread-146005-1-1.html
2008-02-03 11:38
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
收藏
得分:0 
只编译一次

=×&D o I p R e E n C g T l X&×=
2008-02-03 15:53
吖呵呵
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-10-24
收藏
得分:0 
前面加上#include <stdio.h>
2008-10-31 22:28
吖呵呵
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-10-24
收藏
得分:0 
我也是出现了这个问题,现在解决了
2008-10-31 22:30
快速回复:这里为什么会出现undeclared identifier呢?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.038745 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved