proof1 发表于 2024-11-29 16:35

求助:C++ 变量赋值 语法

intAST;

AST=8888;   // 第46行代码


这两行,居然报错,不知哪错了?
----------------------------------------------------------
e:\mygame.cpp(46) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
e:\mygame.cpp(46) : error C2086: 'int AST' : redefinition

proof1 发表于 2024-11-29 16:52

本帖最后由 proof1 于 2024-11-29 16:55 编辑

之前在.h头文件里,声明了变量。编译报错。
把头文件里的变量,转移到cpp文件中。编译报同类错误。
怀疑是旧的缓存。清理(删除)旧的“解决方案”、旧的“生成”,重新生成(编译),故障依旧。
添加上述两行测试代码   intAST;   AST=8888;   报同样错误。

机子上的VS2005象中了邪一样。

laotoutou 发表于 2024-11-29 16:57

fuful11 发表于 2024-11-29 16:57

看报错就是重新声明了呗,如果你这两行代码之间确定没有别的操作,在int 之前打个undef试试?大概这样
#undef AST
int AST = 8888;

proof1 发表于 2024-11-29 17:10

laotoutou 发表于 2024-11-29 16:57
这上面写了int  AST redefined。应该是重定义了。
你的h文件有没有用#ifndef, #define, 和#endif保护起来 ...

不是重定义。
AST是我临时测试用的。
起名ASTasdfghjkl1234,报同样错误

ryanz 发表于 2024-11-29 17:13

都 2024 年了,用啥 vs2005,你这分得出 C++03 C++11 C++23 标准区别不。

FeteFrumoase 发表于 2024-11-29 17:25

查了一下和int无关,像是某种重复define 头文件导致的错误
https://segmentfault.com/q/1010000042728440

Walküre 发表于 2024-11-29 17:31

不如你把整个工程传到github上让大伙儿给你debug更快,这么点信息怎么猜

chemrev 发表于 2024-11-29 17:33

页: [1]
查看完整版本: 求助:C++ 变量赋值 语法