편집 기록

편집 기록
  • 프로필 nowp님의 편집
    날짜2019.10.31

    c++ 구조체 대입


    #include <iostream>
    using namespace std;
    
    struct CandyBar
    {
        char name[30];
        double weight;
        int cal;
    
    };
    
    void input(CandyBar &Setting, char* str="Miilenum", double inWeight=2.85, int inCal=350);
    void show(const CandyBar &Setting);
    
    int main(void)
    {
        CandyBar A;
        input(A);
            // show(A);
    
        input(A,"asdasdasd",10.0,550);
        // show(A);
    
    }
    
    void input(CandyBar &Setting, char* str/* ="Miilenum" */, double inWeight/* =2.85 */, int inCal/* =350 */)
    {
        // Setting.name = str => 에러 발생 
        strcpy(Setting.name, str);
        Setting.cal = inCal;
        Setting.weight = inWeight;
    }
    

    안녕하세요 c++ 공부하고 있는 학생입니다. 다음 input 함수에서 매개변수로 전달받은 char *str 값을 구조체 name 변수에 직접적으로 대입시켰더니 에러가 발생합니다 . 제 생각에는 *str은 문자열이 저장되어있는 주소값을 가르키고 있어서 name에 대입시키려고 하면 모호성 문제가 발생하는 것 같은데 제생각이 맞을까요?

  • 프로필 알 수 없는 사용자님의 편집
    날짜2019.10.30

    c++ 구조체 대입


    include

    using namespace std;

    struct CandyBar { char name[30]; double weight; int cal;

    };

    void input(CandyBar &Setting, char* str="Miilenum", double inWeight=2.85, int inCal=350); void show(const CandyBar &Setting);

    int main(void) { CandyBar A; input(A); // show(A);

    input(A,"asdasdasd",10.0,550);
    // show(A);
    

    }

    void input(CandyBar &Setting, char* str/* ="Miilenum" /, double inWeight/ =2.85 /, int inCal/ =350 */) { // Setting.name = str => 에러 발생 strcpy(Setting.name, str); Setting.cal = inCal; Setting.weight = inWeight; }

    안녕하세요 c++ 공부하고 있는 학생입니다. 다음 input 함수에서 매개변수로 전달받은 char *str 값을 구조체 name 변수에 직접적으로 대입시켰더니 에러가 발생합니다 . 제 생각에는 *str은 문자열이 저장되어있는 주소값을 가르키고 있어서 name에 대입시키려고 하면 모호성 문제가 발생하는 것 같은데 제생각이 맞을까요?