游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3157|回复: 7

VS2005中出现的问题

[复制链接]

36

主题

109

帖子

111

积分

注册会员

Rank: 2

积分
111
发表于 2007-10-7 15:39:00 | 显示全部楼层 |阅读模式
struct test{

float x,y,z;
}
test vertex;
vertex.x=2.0;
就是这么一个简单的代码, 就在05里面编译通不过, 我真的不知道到底是我的VS2005有问题还是我的编译环境有问题,错误提示如下:
error C2143: syntax error : missing ';' before '.'
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
error C2371: 'vertex' : redefinition; different basic types
        d:\study\kuangjia1\kuangjia1\zhu.cpp(44) : see declaration of 'vertex'
如果只声明一个vertex变量也不会有问题, 只要我用vertex给其中的任何一个变量赋值就会有上面的编译错误,实在不知道怎么回事,换个编译器就一点问题没有。后来我把结构改成类,把成员都改成public,直接访问数据也是同样提示一样的错误,真的不知道到底是哪里的问题了,请大家帮忙分析下。
[em7]

36

主题

109

帖子

111

积分

注册会员

Rank: 2

积分
111
 楼主| 发表于 2007-10-7 15:51:00 | 显示全部楼层

Re:VS2005中出现的问题

#include <iostream>
struct test{
        float a,b,c;
};
struct test ver;
ver.a=10;
void main()
{
        char c;
        std::cout<<"hello";
        std::cin>>c;
  
}
上面是控制台下写的一个测试,发现也提示同样的错误
d:\study\fdsfsfsd\fdsfsfsd\dfd.cpp(6) : error C2143: syntax error : missing ';' before '.'
d:\study\fdsfsfsd\fdsfsfsd\dfd.cpp(6) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
d:\study\fdsfsfsd\fdsfsfsd\dfd.cpp(6) : error C2371: 'ver' : redefinition; different basic types
        d:\study\fdsfsfsd\fdsfsfsd\dfd.cpp(5) : see declaration of 'ver'

请大家指点下,为什么这样不可以哪

2

主题

429

帖子

435

积分

中级会员

Rank: 3Rank: 3

积分
435
发表于 2007-10-7 16:56:00 | 显示全部楼层

Re:VS2005中出现的问题

函数外是不能进行运算操作

36

主题

109

帖子

111

积分

注册会员

Rank: 2

积分
111
 楼主| 发表于 2007-10-7 19:21:00 | 显示全部楼层

Re:VS2005中出现的问题

哦,也就是说可以定义时初始化,不能定义后再赋值了, 谢谢

103

主题

1432

帖子

1458

积分

金牌会员

Rank: 6Rank: 6

积分
1458
QQ
发表于 2007-10-8 15:39:00 | 显示全部楼层

Re:VS2005中出现的问题

代码要放到函数内部。

201

主题

1437

帖子

1963

积分

金牌会员

Rank: 6Rank: 6

积分
1963
QQ
发表于 2007-10-21 12:02:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

6

主题

99

帖子

99

积分

注册会员

Rank: 2

积分
99
发表于 2007-10-22 23:25:00 | 显示全部楼层

Re:VS2005中出现的问题

直观点,把代码改为下面这样就行了:
#include <iostream>
struct test{
float a,b,c;
};
void main()
{
struct test ver;
ver.a=10;
char c;
std::cout<<"hello";
std::cin>>c;
  
}
lz有些搞笑,不知道c的语句执行都要在函数中才行吗?函数外只能定义变量、结构、类等东西,顶多给变量赋个初值,……

18

主题

82

帖子

86

积分

注册会员

Rank: 2

积分
86
发表于 2007-10-23 22:21:00 | 显示全部楼层

Re:VS2005中出现的问题

struct test{

float x,y,z;
}

这里好象少了分号啊,
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-20 04:31

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表