请问如何解决不明确的符号问题

tiancaiak 2009-05-25 01:42:39
11>e:\xx.cpp(60) : error C2872: “ulong”: 不明确的符号
11> 可能是“defs.h(25) : unsigned long ulong”
11> 或 “ceguibase.h(124) : CEGUI::ulong”

这两个头文件都是要用到的,但是里面都定义了ulong,怎样在不改变这两个头文件的源代码的前提下使之编译通过?
...全文
1979 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
#include<stdafx.h>
#include<iostream>
using namespace std;
#include<string.h>
class string{
public:
string(int size=80);
string(char *s);
string(string &s);
~string(){
delete sptr;
}
int getlength(){
return length;
}
void print(){
cout<<sptr<<endl;
}
private:
int length;
char *sptr;
};
string::string(int size){
length=size;
sptr=new char[length+1];
*sptr='\0';
}
string::string(char *s){
length=strlen(s);
sptr=new char[length+1];
strcpy(sptr,s);
}
string::string(string &s){
length=s.length;
sptr=new char[length+1];
strcpy(sptr,s.sptr);
}
void main(){
string s1,s2("This is a string.");
cout<<s1.getlength()<<endl;
s2.print();
char *str1="That is a program.";
string s3(str1);
s3.print();
string s4(s2);
s4.print();
}

《C++语言程序设计》吕风xi版例11.1中
编译出现:error C2872: “string”: 不明确的符号
请问应如何解决?
goodname 2009-05-25
  • 打赏
  • 举报
回复
使用代码贴一下看看,感觉没问题。
goodname 2009-05-25
  • 打赏
  • 举报
回复
#include "defs.h"
#undef ulong
#include "ceguibase.h"

or

#include "ceguibase.h"
#undef ulong
#include "defs.h"

看你想用哪个了。
tiancaiak 2009-05-25
  • 打赏
  • 举报
回复
不好意思,我没有说清楚,这两个定义都是这样的:
typedef unsigned long ulong;
没有#define之类
defs.h的头文件只有几行代码:
#pragma once
typedef unsigned long ulong;
typedef unsigned short ushort;
typedef unsigned int uint;
「已注销」 2009-05-25
  • 打赏
  • 举报
回复
然后自己重定义一个。
lpf000 2009-05-25
  • 打赏
  • 举报
回复
在函数类 再定义一次 typedef屏蔽
「已注销」 2009-05-25
  • 打赏
  • 举报
回复
#undef ulong
lingyin55 2009-05-25
  • 打赏
  • 举报
回复
显式的使用CEGUI::ulong行不行?
once_and_again 2009-05-25
  • 打赏
  • 举报
回复




没找到定义的头文件.
markholmes 2009-05-25
  • 打赏
  • 举报
回复
一定要用ulong吗?用unsigned long不行吗
healer_kx 2009-05-25
  • 打赏
  • 举报
回复
那你用define处理一下了。

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧