0

[Linker Error] 'WinMain@16' への未定義参照が発生し、問題を解決できません。私は Dev-C++ を使用しています - 私のプロジェクト設定では、コンソール アプリケーションにしたいので [Win32 コンソール] が選択されています。

ヘッダーの例 (Test.h):

#ifndef TEST_H
#define TEST_H
#include<string>
using namespace std;
class Test {
  private:
    int testing;
  public:
    int main();
};
#endif

.cpp ファイルの例

#include<iostream>
#include "Test.h"
using namespace std;
int Test::main(){ 
   /*         EXAMPLE       */
   cout << "Enter Test" <<endl;
   cin >> testing;
   cout << "----------------------------"<<endl;
   system("pause");
   return 0;   
}

main() の前を削除することでエラーを修正できますがTest::、ヘッダー ファイルを参照するようにします。ヘッダー ファイルを参照しないと、すべての変数が宣言されなくなります。変数をプログラム自体に配置しない限り。

コードは私がやっていることのほんの一例であることに注意してください。:-(

4

2 に答える 2

2

回答はコメント自体に記載されていますが、要点は次のとおりです::

#ifndef TEST_H
#define TEST_H
#include<string>
using namespace std;
class Test {
  private:
    int testing;
  public:
    int main();
};

int Test::main(){ 
   /*         EXAMPLE       */
   cout << "Enter Test" <<endl;
   cin >> testing;
   cout << "----------------------------"<<endl;
   system("pause");
   return 0;   
}
#endif

そして .cpp ファイルで::

#include<iostream>
#include "Test.h"
using namespace std;
int main(){ 
   /*         EXAMPLE       */
   Test *testObject = new Test();
   testObject->main();
   delete(testObject);
   system("pause");
   return 0;   
}
于 2013-04-24T11:26:26.373 に答える
0

system("PAUSE")ああ、もっと良い方法があるのに、なぜ を使っているのですか!? system()(なぜ悪であるかについては、こちらで読むことができます: http://www.cplusplus.com/forum/articles/11153/ )

void PressEnterToContinue()
{
    std::cout << "Press ENTER to continue...\n";
    std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
}

そして最後に関数を呼び出しますか??

于 2014-02-22T01:08:37.250 に答える