2017-03-12 79 views
-4

我只是C++的初學者我正在使用devC++。我有一個項目,兩個獨立的文件,但是當我運行第二個文件,它提供了一個錯誤信息:main的多重定義,首先在devC++中定義這裏

test.cpp:(.text+0x0): multiple definition of `main' first defined here). 

我發現大多數答案告訴我不能要,因爲第一主主要功能的入口點。有些人也說要把它放在單獨的項目中,但我不想。另一種解決方案是重命名其中一個函數,並從另一個主函數中調用它,但我不知道它是什麼意思以及如何去做。

只要詳細解釋清楚瞭如何改變該怎麼做。

對不起,如果您有任何問題的答案,請提供鏈接,因爲我的理解不夠詳細。

這些是我的兩個文件:

prblm2.cpp

#include<iostream> 
using namespace std; 
int main() 
{ 
    const double artificial_sweetner=0.001; 
    double mouse_weight, friend_weight, die, number_of_soda_pop; 
    cout<<"type in the weight of the mouse and your freinds target weight"<<endl; 
    cin>>mouse_weight>>friend_weight; 

    while (mouse_weight>0 && friend_weight>0) 
    { 
     die=(friend_weight/mouse_weight)*artificial_sweetner; 
     number_of_soda_pop=die/artificial_sweetner; 
     cout<<"the number of soda your freind can drink is "<<number_of_soda_pop<<endl; 
     cout<<"type in the weight of the mouse and your freinds target weight"<<endl; 
     cin>>mouse_weight>>friend_weight; 
    } 

} 

TEST.CPP

#include<iostream> 
using namespace std; 
int main() 
{ 
    int i; 
    for(i=1;i<10;i++) 
    { 
     for(i=1;i<10;i++) 
     { 
      for(i=1;i<10;i++) 
      { 
       cout<<"*"<<endl; 
      } 
     } 
    } 
} 
+5

,你不能有兩個電源.... – CoryKramer

+0

我知道如果從第二個文件中刪除主這是行不通的 – Tasif

+4

我downvoted的問題,因爲你已經知道答案(「放它在單獨的項目中「),並沒有說明它爲什麼不適合你的原因(」但我不想「不是理由)。 –

回答

1

你的問題是,你有兩個main功能。標準不允許這樣的程序。解決方案是隻有一個main

例如:

這個程序也不行,因爲太少main功能:

void foo(){} 

這個程序也不行,因爲有太多main功能:

int main(){} 
int main(){} 

該程序結構合理,功能正確main

int main(){} 
+0

所以我應該從第二個文件刪除主要如果這樣做 程序不運行。 – Tasif

+1

@Tasif你確定它不運行嗎?你是如何驗證的? – user2079303

+0

@ user2079303 \t C:\ Users \ User \ Documents \ C++ \ prob \編程項目\ test.cpp \t [錯誤]預期unqualified-id在'for'之前,我移除了int main()和大括號。 – Tasif