未处理的异常-如何解决它,c++
Unhandled exception - how to solve it, c++
我的这个程序有问题。成功编译程序后,编译器会给我以下信息:"0x0f6bd540(msvcr100d.dll)"в"progBUS.exe"中未处理的异常
程序出了什么问题,因为一切似乎都很好,但最终,在按"Enter"退出控制台后,出现了错误-未处理的异常。如何修复?非常感谢!
# include <iostream>
# include <cstring>
using namespace std;
template < class T>
void switcher(T &a, T &b){
T c=a;
a=b;
b=c;
}
char* f(char* word){
static char* ss("u");
static int iter(0);
cout<<"word ""<<word<<"" has been thrownn";
if ( strcmp(word,ss)!=0 && strcmp(word,"")!=0) {ss=word; iter=0;} //if another word has been thrown
cout<<"ss="<<ss<<" iter="<<iter<<endl;
static char ret[15];//return word value
memset(ret, ' ', 14);//clean up ret value
int len = strlen(ss);
int j=0;
if (iter == len-1) return nullptr;//we have reached the end of word
for (int i=iter;i<len;i++){
//cout<<"*(ss+i)="<<*(ss+i)<<endl;
if (*(ss+i)!=' ') ret[j]=*(ss+i);
else { iter=i+1; return ret;}
//cout<<*(ss+i);
j++;
if(i==len-1) {iter=i+1; return ret;}
}
return nullptr;
}
int main(){
int a=1,b=2;
cout<<f("fr rewfer ewr")<<endl;
cout<<f("fr rewfer ewr")<<endl;
cout<<f("43 34")<<endl;
cout<<f("")<<endl;
cout<<f("")<<endl;
cout<<f("fr rewfer ewr")<<endl;
//char ss[]("fr rewfer ewr");
//size_t len = (sizeof ss)/(sizeof ss[0]);
// cout<<"len="<<len<<endl;
system("PAUSE");
return 0;
}
你需要一些纪律。您要使用:
f("fr rewfer ewr");
文本字符串可能在只读内存中。你需要承诺你不会改变它:
char*f(const char* word) ;
你有s("U");
和ss=word;
,所以你也需要:static const char* ss;
但作为ss
static
,您需要确保ss
的内容在两次调用之间保持有效。复制单词?现在,您有ret[15]
,并且使0仅为14。为什么不是15?并且你不能控制你可能会在其中写入超过14个字符。F可以返回nullptr
,但在你的主体中,你不测试nullptr
。如果您使用std::string
和其他C++标准库设施,您的一些问题可能会消失。
所有问题都在中
cout<<f("")<<endl;
当f重新获得nullptr 时
相关文章:
- 运行同一解决方案的另一个项目的项目
- Project Euler问题4的错误解决方案
- Ardunio UNO解决了多个重叠的定时器循环
- 如何解决gcc编译器优化导致的centos双编译器设置中的分段错误
- 两个文件使用彼此的功能-如何解决
- 计算每个节点的树高,帮助我解释这个代码解决方案
- 如何解决"invalid conversion from 'char' to 'const char*'"
- 在java中解决这段代码时面临循环中的问题
- C++:Application.cpp中抛出了未解析的外部符号(解决方案在问题的末尾,供未来的读者参考)
- 难以理解某些人解决IOI问题的源代码
- visual c++,如何获取解决方案目录中的代码
- 如何解决错误:SCIP C++中的 SCIP 阶段无效 <10>
- 节俭并发:未解决的外部问题
- IpOpt拒绝解决不受约束的问题
- 如何解决这个超硬恒星的创造问题
- 循环无限运行C++解决骑士之旅问题
- 有没有办法在远程设备上打开和编辑visual Studio 2017解决方案
- C++Matching Brackets 2解决方案不起作用
- 在 ubuntu3 上C++ goto 定义有什么解决方案吗16.04?
- 为什么这段代码不起作用,我该如何解决?