클래스 멤버 함수에서 배열을 반환하는 방법

클래스를 생성하고 거기 안에 멤버 함수가 하나 있는데

이 멤버함수가 '배열'을 반환해야 합니다.

예시코드로

class class_df {
public :
    class_df();
    void initialize();
    float class_df::calculate(int, float, float, float);
    ~class_df();
private:
    float a;
    float b;
    float c;
};
class_df::class_df() {
    initialize();
}
void initialize() {
    a = 0;
    b = 0;
    c = 0;
}

float class_df::calculate(int size, float x__, foat y__, float z__) {
    float *return_parm = {0};
    return_parm[0] = a*x__;
    return_parm[1] = a*y__;
    return_parm[2] = a*z__;

    return *return_parm;
}

class_df::~class_df() {
}

이렇게 했는데 이러가 뜨네요;;;;

1답변

  • 문법 오류가 적어도 3개 있는 것 같습니다. 코드를 다음과 같이 바꿔보세요.

    class class_df {
        public :
        class_df();
        void initialize();
        float calculate(int, float, float, float); // 여기가 바뀜.
        ~class_df();
    private:
        float a;
        float b;
        float c;
    };
    
    class_df::class_df() {  
        initialize();
    }
    void class_df::initialize() { // 여기가 바뀜. 클래스를 명시해주어야함.
        a = 0;
        b = 0;
        c = 0;
    }
    
    float class_df::calculate(int size, float x__, float y__, float z__) {  // 여기가 바뀜. foat 오타 있었음.
        float *return_parm = {0};
        return_parm[0] = a*x__;
        return_parm[1] = a*y__;
        return_parm[2] = a*z__;
    
        return *return_parm;
    }
    
    class_df::~class_df() {
    }
    
    
    • 논리상 어떤 부분이 잘못되었는지는 main 함수와 들어간 데이터까지 같이 주셔야 확인가능할 것 같네요. Demi 2018.6.11 13:50

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.