回 帖 发 新 帖 刷新版面

主题:关于vect(class)问题

#include <iostream> 
#include <iomanip> 
#include <vector> 
using namespace std; 
class TT{ 
private: 
int b; 
public: 
TT(int a){ 
a=b; 
cout < <"new " < <endl;} 
}; 
void main(){ 
   vector <TT>   v(10);    
    } 
报错:microsoft visual studio\vc98\include\vector(41) : error C2512: 'TT::TT' : no appropriate default constructor available
WHY??

回复列表 (共3个回复)

沙发

#include <iostream> 
#include <iomanip> 
#include <vector> 
using namespace std; 
default constructor available
WHY??class TT{ 
private: 
int b; 
public:               
TT(){}                    //没有默认得不带参数构造函数可用,此处加上
TT(int a){ 
a=b;                    
cout < <"new " < <endl;} 
}; 
void main(){ 
   vector <TT>   v(10);    
    } 
报错:microsoft visual studio\vc98\include\vector(41) : error C2512: 'TT::TT' : no appropriate  

板凳

我想知道
vect<int> A(10);
书上说是声明了一个大小为10的int型数组
我用
vect<TT> C(10)
想声明一个大小为10的TT类数组,怎么不行

3 楼

vector <TT>   v(10);    是定义10个TT类型的vector,不是10个int型的,TT没有默认构造了,所以就不行了
<>里面是你要定义的vector中的数据的类型

我来回复

您尚未登录,请登录后再回复。点此登录或注册