私はこれを PPString と呼ばれるクラスにしています:
PPString.h
#ifndef __CPP_PPString
#define __CPP_PPString
#include "PPObject.h"
class PPString : public PPObject {
char *stringValue[];
public:
char *pointerToCharString();
void setCharString(char *charString[]);
void setCharString(const char charString[]);
};
#endif
PPString.cpp
#include "PPString.h"
char *PPString::pointerToCharString() {
return *stringValue;
}
void PPString::setCharString(char *charString[]) {
*stringValue = *charString;
}
void PPString::setCharString(const char charString[]) {
*stringValue = (char *)charString;
}
私はstringValue
usingを設定しようとしていstd::cin
ます:
main.cpp
PPString myString;
myString.setCharString("LOLZ");
std::cout << myString.pointerToCharString() << std::endl;
char *aa[1000];
std::cin >> *aa;
myString.setCharString(aa);
std::cout << myString.pointerToCharString() << std::endl;
a を使用する最初のものはconst char
機能しますが、2 つ目は a を使用char
しないため、次の出力が得られます。
STDOUT からのコピー アンド ペースト
LOLZ
im entering a string now...
Bus error
2行目は入力したもので、return
キーを押します。
誰でもこれを修正するのを手伝ってもらえますか? ありがとう...