2

C++ のいくつかの基本的な概念を学習していますが、ヘッダーを使用して複数のファイルを使用することに行き詰まっています。私は3つのファイルを持っています。

電卓.h

#ifndef CALCULATOR_H_CAL
#define CALCULATOR_H_CAL
class Calculator{
        int a,b;
        public:
        Calculator();
        Calculator(int,int);
    int op();
};
#endif

電卓.cpp

#include<iostream>
#include "Calculator.h"

    Calculator::Calculator(){
        a=0;b=0;
    }
    Calculator::Calculator(int c,int d){
        a=c;b=d;    
    }
    int Calculator::op(){
        return a*b;
    }

メイン.cpp

#include<iostream>
#include "Calculator.h"    

int main(){
    Calculator a(2,3);
    int b=a.op();
    std::cout << b;
}

しかし、g++ Main.cpp でコンパイルするとエラーが発生します。

/tmp/cc09isjx.o: In function `main':
Main.cpp:(.text+0x83): undefined reference to `Calculator::Calculator(int, int)'
Main.cpp:(.text+0x8c): undefined reference to `Calculator::op()'
collect2: ld returned 1 exit status

ここで何が問題なのですか?

4

3 に答える 3

1

ファイルを main() で正しくリンクしていないと、正しくコンパイルできません。

これを試して-

g++ main.cpp 電卓.cpp

これでヘッダー ファイルがインクルードされます。

于 2013-07-10T12:32:03.050 に答える