| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1499 人关注过本帖
标题:[求助]这段程序编译有错,是什么原因呢?
只看楼主 加入收藏
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
结帖率:78.95%
收藏
 问题点数:0 回复次数:21 
[求助]这段程序编译有错,是什么原因呢?

#include <cstdlib>
#include <iostream>
#include <string>
using namespace std;

int main(int argc, char *argv[])
{
struct Pair{
string name;
double val;
};

vector<Pair>pairs;

system("PAUSE");
return EXIT_SUCCESS;
}

搜索更多相关主题的帖子: Pair 编译 include int 
2007-05-09 08:12
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
#include <vector>
vector<Pair>pairs;


vector<Pair> pairs;

Fight  to win  or  die...
2007-05-09 08:42
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
收藏
得分:0 

加上了还是有错
[CODE]#include <cstdlib>
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main(int argc, char *argv[])
{

struct Pair{
string name;
double val;
};

vector<Pair>Pairs;

system("PAUSE");
return EXIT_SUCCESS;
}[/CODE]


/images/2011/147787/2011051411021524.jpg" border="0" />
2007-05-09 10:12
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 
你把这个结构体定义到main函数外面去

雁无留踪之意,水无取影之心
2007-05-09 10:31
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
收藏
得分:0 
谢谢!为什么要这样做的呢?

/images/2011/147787/2011051411021524.jpg" border="0" />
2007-05-09 10:34
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
收藏
得分:0 
[CODE]

#include <cstdlib>
#include <iostream>
#include <string>
#include <vector>

using namespace std;
struct Pair{
string name;
double val;
};
int main(int argc, char *argv[])
{



vector<Pair>Pairs;

system("PAUSE");
return EXIT_SUCCESS;
}

[/CODE]
这样写可以
但这样写不可以.为什么?
[CODE]#include <cstdlib>
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main(int argc, char *argv[])
{



vector<Pair>Pairs;

system("PAUSE");
return EXIT_SUCCESS;
}

struct Pair{
string name;
double val;
};[/CODE]


/images/2011/147787/2011051411021524.jpg" border="0" />
2007-05-09 10:35
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 
至于为什么定义到前面去我也不太清楚,只是根据提示改的,我学C++也没几天,刚开始的.

但定义到后面去肯定不行,还没定义就开始用,这可能吗,全局变量的作用范围是从定义处开始到程序结束.

雁无留踪之意,水无取影之心
2007-05-09 10:44
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 
提示那个类型不能用来作模板的参数.

在网上搜了一下好像是这个原因:

在函数内定义的类型具有无连接的属性,不能用来作模板的参数

雁无留踪之意,水无取影之心
2007-05-09 10:47
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
收藏
得分:0 
噢..我知道了..原来是我把它与函数搞乱了.

/images/2011/147787/2011051411021524.jpg" border="0" />
2007-05-09 10:54
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 
函数也一样,在后面定义同样不能用,除非你在前面作声明

雁无留踪之意,水无取影之心
2007-05-09 10:58
快速回复:[求助]这段程序编译有错,是什么原因呢?
数据加载中...
 
   



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

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