スマートポインタを初めて使用しています。同じものを作成しようとしていますが、エラーがあります。オブジェクトを持つshared_ptrの配列を作成します。
shared_ptr<data> sp(new data[30]);
for(int i=0;i<30;i++){
sp->setID(i)[i];
}
エラー:私はしてみてください
class data{
private:
int ID;
public:
void setID(int a){
ID=a;
}
int getID(){
return ID;
}};
int main(){
data d*;
d=new data[30];
for(int i=0;i<30;i++){
(p+i)->setID(i);
}}
無効なタイプの '空[INT]' 添字アレイ用|
shared_ptr<data> sp(new data[30]);
for(int i=0;i<30;i++){
(sp+i)->setID(i);
}
エラー: 'operator +'(オペランドタイプは 'std :: shared_ptr'と 'int')に一致しません。
どうすれば同じことができますか?