[問題] Segmentation fault
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Linux(編譯器不知道)
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
no
問題(Question):
寫大數運算 目前只做到資料的input和output 尚未寫好運算
作業要求將所有運算時需要的function都放在class裡
餵入的資料(Input):
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
Segmentation fault
程式碼(Code):(請善用置底文網頁, 記得排版)
#include <iostream>
#include <cstdlib>
#include <cstring>
using namespace std;
class BigNum
{
public:
//constructor
BigNum()
{
cur_ptr=new char[100];
in_ptr=new char[100];
}
//add
void Add(const char* ch)
{
}
//functional
void set(const char* ch)
{
if(strlen(ch)>100)
{
delete cur_ptr;
cur_ptr=new char[2*strlen(ch)];
cur_ptr=strcpy(cur_ptr,ch);
}
else
{
strcpy(cur_ptr,ch);
}
}
void set()
{
delete cur_ptr;
char setZero[]={'0'};
cur_ptr=setZero;
}
char* show()
{
return cur_ptr;
}
//destructor
~BigNum()
{
delete cur_ptr;
delete in_ptr;
}
private:
char *cur_ptr,*in_ptr;
int *a_ptr,*b_ptr,*c_ptr;
};
int main(void)
{
BigNum X;
X.set("96325874123654");
cout << X.show() << endl;
X.set();
cout << X.show() << endl;
return 0;
}
補充說明(Supplement):
用codeblocks編譯會過
但用linux的編譯器卻出現Segmentation fault
請問到底哪裡出了問題??
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.92.21
→
04/03 16:36, , 1F
04/03 16:36, 1F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 3 篇):