途中までやった 実行はしてない

#include <string>
#include <iostream>
#include <vector>
#include <stack>
using namespace std;

int getsu(string &x,int n){
int i;n++; for(i=n;i<x.size() ;i++)if(x[i]<'0' || x[i]>'9')break;
string y=x.substr(n,n-i);
return atoi(&y[0]);}

fnc(string &x, string &y){
stack <int > num;
int n,iti=0; y="";
for(n=0;n<x.size();n++){
if(x[n]=='(' ){num.push(iti);continue;}
if(x[n]==')' ){
int k,l,d;k=num.top(); num.pop(); l=getsu(x,n); d=iti-k;
for(int i=0;i<l;i++)y+=y.substr(k,d);iti+=d*l;continue;}
y+=x[n];iti++;}
}

main(){
string ctext = "((ab)3bc)4",tmp;
fnc(ctext,tmp);
}