关于c++函数模版
template<typename returnType,typename parameterType>returnType * strCuter(parameterType* str,parameterType* identifier,int s_length,int i_length,bool isLeft){ int i=0,temp_i=0; parameterType* temp=new parameterType[s_length]; while(i<s_length) { temp[temp_i]=str[i]; i++; if(temp[temp_i]!=identifier[temp_i]) //如果在临时字符串中有与标识字符串中不相符的字符,则移动索引至0 temp_i=0; else if(temp[temp_i]==identifier[temp_i]&&temp_i<i_length-1) temp_i++; else if(temp[temp_i]==identifier[temp_i]&&temp_i==(i_length-1)) { if(isLeft==true) { int target_i=i-i_length; for(i=0;i<target_i;i++) temp[i]=str[i]; temp[i]=NULL; realloc(temp,target_i+1); } else temp=&str[i]; return temp; } } return NULL;}下面,我想定义三个函数,用typedef不行,用#define也会报错?我应该怎么做?#define strCuter<TCHAR,TCHAR> strCuterT_F#define strCuter<wchar_t,wchar_t> strCuterW_F#define strCuter<char,char> strCuterA_F
template char* strCuter<char,char>(char*,char*,int,int,bool);
[解决办法]