Finding cb numbers problem

please tell the error
#include
#include
using namespace std;
bool checkcb(int num,int cb[10]){
if(num ==1||num==0)
return 0;
int i;
for(i=0;i<10;i++){
if(cb[i]==num)
return 1;
}
int flag=0;
for(i=0;i<10;i++){
if(num%cb[i]==0)
flag=1;
}
if(flag==0)
return 1;
return 0;
}
int main() {
int cb[]={2,3,5,7,11,13,17,19,23,29 };
string s;
int size;
cin>>size;
cin>>s;
int i;
int count=0;
for(i=0;i<size;i++){
int num=s[i]-‘0’;

bool b=checkcb(num,cb);
bool u=0;
if(b==1){
  count++;
}
else {
  while(u==0&&i+1<size){

    i++;
  num=num*10+(s[i]-'0');
  cout<<num<<endl;
  u=checkcb(num,cb);
  if(u==1)
  count++;
  
}}

}
cout<<count;
cout<<endl;
return 0;
}

Hey Pritika, your approach is not correct, there is no need to take the cb array of size 10. Here I am sharing my code, you can refer this.

can you give this code in c++