[求助] missing type specifier - int assumed. Note: C++ does not support default-int,这是什么问题?如何解决呀?

kerry123 2008-06-18 08:22:46
我今天编程的时候,从别人的代码中copy了一段程序,看起来很简单,但是总是出现标题中的错误。 我把程序源码和错误信息列出来。

abc.h

struct tMaterialInfo
{
char strName[255];
char strFile[255];
BYTE color[3];
int texureId;
float uTile;
float vTile;
float uOffset;
float vOffset;
};
struct t3DObject
{
int numOfVerts;
int numOfFaces;
int numTexVertex;
int materialID;
bool bHasTexture;
char strName[255];
UINT *pIndices;
tVector3 *pVerts;
tVector3 *pNormals;
tVector2 *pTexVerts;
tFace *pFaces;
};
struct t3DModel
{
int numOfObjects;
int numOfMaterials;
vector<tMaterialInfo> pMaterials;// 这行为第82行
vector<t3DObject> pObject; // 这行为第83行
};

错误:
c:\users\charles\documents\visual studio 2005\projects\abc\CLoad3DS.h(82) : error C2143: syntax error : missing ';' before '<'
c:\users\charles\documents\visual studio 2005\projects\abc\CLoad3DS.h(82) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\users\charles\documents\visual studio 2005\projects\abc\CLoad3DS.h(82) : error C2238: unexpected token(s) preceding ';'
c:\users\charles\documents\visual studio 2005\projects\abc\CLoad3DS.h(83) : error C2143: syntax error : missing ';' before '<'
c:\users\charles\documents\visual studio 2005\projects\abc\CLoad3DS.h(83) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\users\charles\documents\visual studio 2005\projects\abc\CLoad3DS.h(83) : error C2238: unexpected token(s) preceding ';'

这究竟是什么错误呢? 我用的是vs2005。
还请大家帮忙解决,多谢!!!
...全文
19261 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
passball 2011-09-02
  • 打赏
  • 举报
回复
正碰到这样的问题,和函数返回值没有任何关系,是在一个数组的初始化中,不知该如何解决。。。
flyljx 2011-07-20
  • 打赏
  • 举报
回复
我也遇到类似的问题。后来发现,是某个.h文件的 '}' 最后,多了一个字符。所以你可以检查下你的其它头文件。
viqsoft 2011-04-18
  • 打赏
  • 举报
回复
mark
sb3day 2011-01-26
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 kim1128 的回复:]
右击工程,选择properties -> configuration properties -> C/C++ -> commandline
在additional options 打入 /wd443


这样改就好了,为啥呢?
[/Quote]因为在VC6中,如果没有显示的指定返回值类型,编译器将其视为默认整 形;但是vs2005不支持默认整形,解决这个问题不能修改每个没有显示指示返回值类型的函数地方,可以用wd4430来解决;具体的在工程选项中的c+ +/Command Line中添加/wd4430即可。
kim1128 2010-10-11
  • 打赏
  • 举报
回复
右击工程,选择properties -> configuration properties -> C/C++ -> commandline
在additional options 打入 /wd443


这样改就好了,为啥呢?
IT铁哥 2010-07-29
  • 打赏
  • 举报
回复
MARK下

用到了,解决了,谢谢了。
liuyang1943 2010-06-30
  • 打赏
  • 举报
回复
mark!
xqhrs232 2010-03-05
  • 打赏
  • 举报
回复
引用 11 楼 huagnzhijian000 的回复:
感谢silverpot

(银斑蝶)


做个记号!!!
图像码农 2009-09-29
  • 打赏
  • 举报
回复
感谢silverpot

(银斑蝶)
银点 2009-09-16
  • 打赏
  • 举报
回复
右击工程,选择properties -> configuration properties -> C/C++ -> commandline
在additional options 打入 /wd4430
ustcwuwei521 2009-07-27
  • 打赏
  • 举报
回复
可以试试properties->C/C++->advanced->compiled as C code


这样为什么就可以啦呢?
topbbei 2009-07-17
  • 打赏
  • 举报
回复
可以试试properties->C/C++->advanced->compiled as C code
topbbei 2009-07-17
  • 打赏
  • 举报
回复
还是不行~~~~
pigritia 2009-04-30
  • 打赏
  • 举报
回复
右击工程,选择properties -> configuration properties -> C/C++ -> commandline
在additional options 打入 /wd4403
lanlan014 2009-04-21
  • 打赏
  • 举报
回复
问题依然没有解决呀,晕倒啦。。。。。我和楼上的一样。。。。。我用的directshow开发包。。。。。。vs2008环境下
bukeneng123 2009-04-05
  • 打赏
  • 举报
回复
我的同样问题依然没有解决???
jdm88 2008-10-01
  • 打赏
  • 举报
回复
我也遇到了类似的问题,表示感谢再感谢
kerry123 2008-06-19
  • 打赏
  • 举报
回复
多谢Silenker,我的问题解决了.我刚接触C++不久,经验不足.这真是太感谢了.
引力场变动源 2008-06-18
  • 打赏
  • 举报
回复
可能是使用了标准库提供的vector容器但是没有包含头文件或者引入名称空间。
试试在文件开头加入如下语句看看:
#include <vector>
using namespace std;

16,466

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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