以下のファイルを同じフォルダに入れて,
g++ list7_22.cpp
を実行しても,undefined referenceのエラーが出ます.解決法を教えて頂けますと助かります.
実行環境:Windows10 64bit msys64
C++
1//list7_22.cpp 2#include <iostream> 3#include <string> 4using namespace std; 5#include "Point.h" 6 7int main() { 8 Point p; 9 10 cout << "x座標とy座標を入力してください:"; 11 cin >> p; 12 13 cout << "入力された座標は、" << p << "です。" << endl; 14 15 return 0; 16} 17
C++
1//Point.h 2class Point { 3 private: 4 double x; // x座標を格納するメンバ変数 5 double y; // y座標を格納するメンバ変数 6 public: 7 Point(double x = 0, double y = 0); // コンストラクタ 8 double getX(); // x座標を返すゲッタ 9 double getY(); // y座標を返すゲッタ 10 Point operator+(const Point &p); // + 演算子のオーバーロード 11 Point operator-(const Point &p); // - 演算子のオーバーロード 12 bool operator==(const Point &p); // == 演算子のオーバーロード 13 bool operator!=(const Point &p); // != 演算子のオーバーロード 14 // >> 演算子のオーバーロード 15 friend istream &operator>>(istream &is, Point &p); 16 // << 演算子のオーバーロード 17 friend ostream &operator<<(ostream &os, const Point &p); 18}; 19
エラーメッセージ
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\msys64\tmp\ccuAgtAm.o:list7_22.cpp:(.text+0x1d): undefined reference to Point::Point(double, double)' C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\msys64\tmp\ccuAgtAm.o:list7_22.cpp:(.text+0x43): undefined reference to
operator>>(std::istream&, Point&)'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\msys64\tmp\ccuAgtAm.o:list7_22.cpp:(.text+0x65): undefined reference to `operator<<(std::ostream&, Point const&)'
collect2.exe: error: ld returned 1 exit status
回答1件
あなたの回答
tips
プレビュー