У меня есть класс 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
, используя 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;
Первый, который использует const char
, работает, но второй, с char
, не работает, и я получаю такой вывод:
копирование и вставка из STDOUT
LOLZ
im entering a string now...
Bus error
где вторая строка - это то, что я ввел, затем нажмите клавишу return
.
Может кто-нибудь помочь мне исправить это? Спасибо ...