시벌 아니 존나 입력 형식 맞는데 왜 틀렷다고 개지랄하는지 이해가 안감
일단 지금 main에 있는 nam 이 인수 목록이 일치하는 생성자 Aed::Aed의 인스턴스가 없습니다 인수형식이 (*char, int, int)입니다 라고 하면서 오류가 난다
클레스를 Aed::Aed(char *name,int *ade, double *weight) 로 해줫으면
* char, int, int 가 아니냐?
name을 제대로 동적할당을 했는지 그것도 잘 모르겟고
class Aed
{
private:
char *name;
int *ade;
double *weight;
public:
Aed(char *name,int *ade, double *weight);
~Aed();
};
Aed::Aed(char *name,int *ade, double *weight)
{
this->name = new char[strlen(name) + 1];
strcpy_s(this->name, strlen(name) + 1, name);
dge = new int;
this->ade = ade;
weight = new double;
this->weight = weight;
}
int main()
{
char *nam;
strcpy(nam, "홍길동");
Aed dg(nam,12,15);// 이부분의 nam에 인수 목록이 일치하는 생성자 Aed::Aed의 인스턴스가 없습니다 인수형식이 (*char, int, int)입니다 라고 하면서 오류가 난다
}
제가 C는 잘 모르는데 숫자 말고 주소 넣어야되는거 아니에요?
포인터 다시 공부하세여 - dc App
어떤거 main에 있는 클레스에? 안되 진즉에 해봣지
먼가 딱보니까 매개변수랑 클래스 프로퍼티가 포인터면 안될꺼같음 - dc App
걍 char* 빼고 다 *지워보세요 - dc App
그거랑 무슨 상관이에요?
똥같은 질문했다가 삭제하셨네여
ㅇㅇ 내가봐도 똥같더라 근데 동적할당 해줘야함
근데 그러면 strlen(name) 이 안되잖아 예 형식이 char * 인데
왜 C++에서 char *를 써 ㅋㅋㅋㅋ
왜쓰면 안되는지 그거부터 설명하는게 초보새끼한테 도움되지 않을까
c++는 하이레벨 언어라 차라리 string같은걸 쓴다는 얘기같은데 char*은 c에서많이씀
두개 혼동해서 쓰면 c++특성때문에 골치아픈 오류들 막 뜨는 경향이있어서 c++는 c++에서만 쓰이는 코딩스타일을 써야할거야 근데 초보자면 걍 c스타일로 짜고 나중에 effective c++같은거 읽으면서 배우던가 자바로 갈아타던가하셈