collect2.exe: エラー: ld が 1 の終了ステータスを返しました。
2022-02-26 19:24:25
collect2.exe: error: ld returned 1 exit statusというエラーでプログラムが実行されます。
c:/mingw/bin/... /lib/gcc/mingw32/9.2.0/... /... /... /... /mingw32/bin/ld.exe: C:\Temp\ccnQ8uo7.o:ex2.2.cpp:(.text+0xbb): undefined reference to `displayMessage(std::__cxx11::basic_string< char, std::char_traits<char>, std::allocator<char> > const&, std::vector<int, std::allocator<int> > const& amp;)'
collect2.exe: error: ld returned 1 exit status
[Finished in 0.6s with exit code 1]
#include
#include
using namespace std;
const int maxSize = 1024;
void displayMessage(const string &msg, const vector<int> &vec);
const vector<int>* Pentagonal(int size);
int main(int argc, char const *argv[])
{
int pos;
cout << "Please enter a positon: ";
cin >> pos;
if (pos <= 0 || pos > maxSize)
{
cout << "Requested size is not supported!" << endl;
return -1;
}
displayMessage("Pentagonal:", *(Pentagonal(pos)));
return 0;
}
template <typename elemType>
void displayMessage(const string &msg, const vector<elemType> &vec)
{
cout << msg;
for (int i = 0; i < vec.size(); ++i)
{
elemType t = vec[i];
cout << t << ' ';
}
}
const vector<int>* Pentagonal(int size)
{
static vector<int> elems;
const string msg("Requested size is not supported ");
if (size <= 0 || size > maxSize)
{
cout << "Requested size is not supported!" << endl;
return 0;
}
for (int i = elems.size(); i < size; ++i)
elems.push_back((i + 1) * (3 * i + 2) / 2);
return &elems;
}
#include
#include
using namespace std;
const int maxSize = 1024;
template <typename elemType>
void displayMessage(const string &msg, const vector<elemType> &vec)
{
cout << msg;
for (int i = 0; i < vec.size(); ++i)
{
elemType t = vec[i];
cout << t << ' ';
}
}
const vector<int>* Pentagonal(int size)
{
static vector<int> elems;
if (size <= 0 || size > maxSize)
{
cout << "Requested size is not supported!" << endl;
return 0;
}
for (int i = elems.size(); i < size; ++i)
{
elems.push_back((i + 1) * (3 * i + 2) / 2);
}
return &elems;
}
int main(int argc, char const *argv[])
{
int pos;
cout << "Please enter a positon: ";
cin >> pos;
if (pos <= 0 || pos > maxSize)
{
cout << "Requested size is not supported!" << endl;
return -1;
}
displayMessage("Pentagonal:", *(Pentagonal(pos)));
return 0;
}
オリジナルブログからの参照 とか、関数の宣言と実装の間に問題があるはずで、正確な理由を理解せず、関数の実装を前倒しにして、エラー報告をしなくなったとか、そういうことです。
#include
#include
using namespace std;
const int maxSize = 1024;
template <typename elemType>
void displayMessage(const string &msg, const vector<elemType> &vec)
{
cout << msg;
for (int i = 0; i < vec.size(); ++i)
{
elemType t = vec[i];
cout << t << ' ';
}
}
const vector<int>* Pentagonal(int size)
{
static vector<int> elems;
if (size <= 0 || size > maxSize)
{
cout << "Requested size is not supported!" << endl;
return 0;
}
for (int i = elems.size(); i < size; ++i)
{
elems.push_back((i + 1) * (3 * i + 2) / 2);
}
return &elems;
}
int main(int argc, char const *argv[])
{
int pos;
cout << "Please enter a positon: ";
cin >> pos;
if (pos <= 0 || pos > maxSize)
{
cout << "Requested size is not supported!" << endl;
return -1;
}
displayMessage("Pentagonal:", *(Pentagonal(pos)));
return 0;
}
declare first, call laterのパターンをどう解決するかはまだ考えていません。
関連
-
Reactネイティブの開発で遭遇するいくつかのポットホール
-
error: expect unqualified-id before 'delete' void delete(node* p,char a) ^.
-
ruby がエラー Failed to build gem native extension を報告しました。
-
ImportError.の解決方法 No module named git" エラーの解決方法
-
C++の完全なクラスはstdのメンバではない
-
java.security.cert.CertPathValidatorException を解決してください。認証パスのトラストアンカーが見つかりませんでした。
-
Pythonラーニングノートです。TypeError: cannot use a string pattern on a bytes-like object とその解決法
-
Pythonです。TypeError: 'dict' オブジェクトは呼び出し可能ではありません。
-
Matplotlib のプロットと可視化 いくつかのプロパティとエラー
-
(mysql インポートデータベースエラー) [Err] 1115 - 不明な文字セットです。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
エラーです。モジュール 'less' が見つかりません。
-
error: config file .git/config をロックできない: パーミッションが足りない
-
解決策:gpg: Can't check signature: public key not found エラーが発生しました。
-
S_ISREG S_ISDIR およびその他いくつかの共通マクロ
-
Pythonでの強制変換('str'と'int'のインスタンス間でサポートされていないエラーが発生した場合)。
-
VSコードデバッグが開始できない
-
android spinner 初期設定 ItemSelectedListener 即時実行 解決方法
-
LaTexの各種コマンドのまとめ
-
__declspec の使用法の詳細
-
js顔認証、tracker.jsフロントエンド顔認証フレームワーク