[問題] Visual Studio 6的程式碼無法用Dev-C++編譯?

看板C_and_CPP作者 (天佑台灣)時間14年前 (2010/08/06 11:47), 編輯推噓1(219)
留言12則, 7人參與, 最新討論串1/1
我朋友寫了這些,可是我想用Dev-C++編譯並執行沒辦法 請問高手們有方法嗎? # include < stdio.h > # include < vector > using namespace std; # define MAX 50 typedef vector< int* >* VEC_PTR; int* NewAIntArray() ; bool Correct( int* array ) ; int* CopyArray( int* array ) ; VEC_PTR Shift( int source, int goal ) ; void Permutation( int* array, int source, int goal ); void PrintArray( int* array ) ; void PrintVec( vector< int* >* vec ) ; int* Initialize(); bool FindSame( int* array ); void Push( int* array ); int gMember = 4; int gJobs = 10; vector< int* > gCollection; void main() { int* array = Initialize(); Permutation( array, gMember-1, gMember-2 ); PrintVec( &gCollection ); } // end main() int* Initialize() { int* temp = NewAIntArray(); int i = 0; for ( i = 0 ; i < gMember; i++ ) temp[ i ] = 1; temp[ gMember-1 ] = ( gJobs - gMember ) + 1; return temp; } // end Initialize() int* NewAIntArray() { int* temp = new int[ MAX ]; int i = 0; for ( i = 0 ; i < MAX ; i++ ) temp[ i ] = 0; return temp; } // end NewAIntArray() bool Correct( int* array ) { int size = gMember; int i = 0; for ( i = 0 ; i < size - 1 ; i++ ) if ( array[ i ] > array[ i+1 ] ) return false; return true; } // end Correct() int* CopyArray( int* array ) { int* temp = NewAIntArray(); int i = 0; for ( i = 0 ; i < gMember ; i++ ) temp[ i ] = array[ i ]; return temp; } // end CopyVec(); int* Shift( int source, int goal, int* array ) { int* temp = CopyArray( array ); temp[ source ]--; temp[ goal ]++; return temp; } // end Shift() void Permutation( int* array, int source, int goal ) { int* temp = NULL; if ( Correct( array ) ) { Push( array ); temp = Shift( source, goal, array ); Permutation( temp, source, goal ); if ( goal > 0 ) { goal--; } // end if ( goal >= 0 ) Permutation( temp, source, goal ); } // end if ( Correct( array ) else { delete temp; temp = NULL; } // end else of if ( Correct( array ) } // end Permutation() void PrintArray( int* array ) { int i = 0; for ( i = 0 ; i < gMember ; i++ ) printf( "%d", array[ i ] ); printf( "\n" ); } // end PrintArray() void PrintVec( vector< int* >* vec ) { int i = 0, size = vec->size(); for ( i = 0 ; i < size ; i++ ) PrintArray( (*vec)[ i ] ); } // end PrintVec() bool Equal( int* array1, int* array2 ) { int i = 0; for ( i = 0 ; i < gMember ; i++ ) if ( array1[ i ] != array2[ i ] ) return false; return true; } // end Equal() bool FindSame( int* array ) { int i = 0, size = gCollection.size(); for ( i = 0 ; i < size ; i++ ) if ( Equal( gCollection[ i ], array ) ) return true; return false; } // end FindSame() void Push( int* array ) { if ( ! FindSame( array ) ) gCollection.push_back( array ); } // end Push() -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.134.72.65

08/06 12:05, , 1F
仔細看錯誤訊息 去修正程式碼
08/06 12:05, 1F

08/06 12:08, , 2F
這程式還算小, 直接改吧! 程式一大...認輸 Q_Q
08/06 12:08, 2F

08/06 12:14, , 3F
提示一下, 只有 1、2、25行需要改
08/06 12:14, 3F

08/06 12:40, , 4F
我的 25 行是 main那邊 XD
08/06 12:40, 4F

08/06 12:45, , 5F
void main()會被擋掉, 現在要寫int main()
08/06 12:45, 5F

08/06 12:46, , 6F
`main' must return `int' 應該有看到這行信息吧
08/06 12:46, 6F

08/06 12:47, , 7F
另外兩個錯誤是include 多了一些不應該有的空格
08/06 12:47, 7F

08/06 15:15, , 8F
還有 "# define " . 很可愛的新手問題,應該是想排漂亮些
08/06 15:15, 8F

08/06 15:23, , 9F
不過寫一個 #字號 再空一格看起來很像某些語言的注釋XD
08/06 15:23, 9F

08/06 15:52, , 10F
大家真的很仁慈...
08/06 15:52, 10F

08/06 19:09, , 11F
朋友寫的,那可以請教朋友啊!
08/06 19:09, 11F

08/06 20:32, , 12F
剛剛朋友不在 他已經幫我解決囉 謝囉
08/06 20:32, 12F
文章代碼(AID): #1CMuMrHI (C_and_CPP)