__asm{push 0}
替换为
_alloca(4)
				
		 
	
			
			楼主,有一程序在G++4.7.0下编译通过,且正常运行。但是VC2010报错。
请指教。
#include <iostream>
#include<vector>
using namespace std;
class base
{
      public:
             base(int ii):i(ii){}
             int geti(){return i;}
      private:
              int i;
};
class derived:public base
{
      public:
             derived(int ii,int jj):base(ii),j(jj){}
             int getj(){return j;}
      private:
              int j;
};
static vector<base> vecb;
static vector<derived> vecd;
inline void scin(void)
{
	int i;
     cout<<"请输入一个数字:"<<endl;
     
     for(int j=0;j<3;j++)
{
        cin>>i;
        vecd.push_back(base(i));
}
      
};
inline void scin1(void)
{
	int a,b;
     cout<<"请输入一对数字:"<<endl;
    
for(int j=0;j<3;j++)
{
	 cin>>a>>b;
         vecb.push_back(derived(a,b));
}  
      
}
inline void freeitb(void)
{
	for(int i=0;i<vecb.size();i++)
		vecb.pop_back();
}
inline void freeitd(void)
{
	for(int i=0;i<vecd.size();i++)
		vecd.pop_back();
}
int main()
{
   
    vector<base>::iterator itb;
    vector<derived>::iterator itd;
scin();
for(itb=vecb.begin();itb!=vecb.end();itb++)
cout<<itb->geti()<<endl;
freeitb();
scin1();
for(itd=vecd.begin();itd!=vecd.end();itd++)
cout<<itd->geti()<<","<<itd->getj()<<endl;
freeitd();
cin.get();
return 0;
}
				
		 
	
			re: ptrdiff_t 指针减法 cpp 2011-07-15 11:34 
			ptr[4],就是arr[4]吧,也就是数组第4个值,
ptr[0],也同样道理。
这两个值相减,和指针地址有啥关系?
搞不懂。。。。
				
		 
	
			
			确实不错!我们需要好库。
更希望有一个所谓的标准的。
				
		 
	
			
			std::vector<char> buffer_;
看过mangos里也是采用这个来装buffer。
vector和char [固定长度],请问你认为有什么优势呢?
				
		 
	
			re: 利用宏实现的一个singleton cpp 2010-09-01 10:52 
			我觉得我们是否更应该去避免这些问题的产生,而不是去想法来解决“会出现”的问题呢。
				
		 
	
			
			欢迎使用maxthon3,关于htmlayout的问题可以交流
http://www.terrainformatica.com/customers.whtm
www.maxthon.cn
 
	
			re: 写个小游戏练一练手 cpp 2007-12-17 12:44 
			用地图数据应该是比较方便的,我用的是bool类型的地图,方块信息用十进制数据,用的时候转化为二进制。当时写的时候没有用面向对象的思想,数据结构用的都是全局变量。扩展性还可以,代码写得就有点乱了。Cppblog上也是高手如云。
				
		 
	
			
			C++语言、学习、研究交流
-------------------------
论坛 : 
http://www.16c.cn