私は2つのファイルがあります:リンケージ
1はmain.cppに
#include<iostream>
using namespace std;
int min(int,int);
int abs(int);
int gcd(int,int);
const char *s = "Read Error!!";
int main()
{
cout << "Enter first Value: ";
int i;
cin >> i;
while(!cin)
{
cout << s << endl;
cin >> i;
}
cout << "Enter second Value: ";
int j;
cin >> j;
while(!cin)
{
cout << s << endl;
cin >> j;
}
cout << "\nmin: " << min(i,j) << endl;
i = abs(i);
j = abs(j);
cout << "gcd: " << gcd(i,j) << endl;
return 0;
}
## 2は、今問題があるgcd.cpp
inline int abs(int iobj)
{
return iobj < 0 ? -iobj : iobj;
}
inline int min(int p1,int p2)
{
return p1 < p2 ? p1 : p2;
}
int gcd(int v1, int v2)
{
while(v2)
{
int temp = v2;
v2 = v1 % v2;
v1 = temp;
}
return v1;
}
です1が2つのファイルをコンパイルすると明らかな理由で問題はありませんが、リンク時にエラーが発生しています: main.cpp :(。テキスト+ 0x100):min(int、int)への未定義の参照 私はコメント行にmin()の呼び出しを含む文を書くときに機能します。 今、abs()が動作している理由は、gcd()は動作していますが、min()は??? 私はg ++をのLinuxに使用しています。
gcd.cppの 'abs'と' min'から 'inline'修飾子を取り除きます。 –
あなたはインデントを聞いたことがありますか?あなたはあなたの足を濡らすための最も単純なアプローチです。 ? –
あなたの質問のタイトルを少しわかりやすくすることができますか?このタグのほとんどの_every_質問は、 "サンプルCPPプロジェクトに関する"です。 –