我過去一整天都在修復Code Blocks,我有很多麻煩。 似乎是固定的,我決定編碼,我試圖顯示一個托盤(二維數組)作爲一個函數的參數。 我遵循本網站上的答案,使其正確。但是現在,我編譯時出錯了。 這是我的文件。C&Code Blocks的問題:調試時出現錯誤,名爲'error:ld returned 1 exit status'
的main.c
#include <stdio.h>
#include <stdlib.h>
#include "SudokuH.h"
int main(void)
{
int tray[9][9]={};
displayTray(numRows, numCols, tray);
return 0;
}
SudokuH.h
#ifndef SUDOKUH_H_INCLUDED
#define SUDOKUH_H_INCLUDED
int numRows = 9;
int numCols = 9;
int i,j;
void displayTray (int numRows, int numCols, int pt[][numCols]);
#endif // SUDOKUH_H_INCLUDED
SudokuS.c
#include <stdio.h>
#include <stdlib.h>
#include "SudokuH.h"
void displayTray(int numRows, int numCols, int pt[][numCols]){
printf("A|B|C|D|E|F|G|H|I\n");
for (i=0; i<numRows;i++){
printf("%d|",i);
for (j=0; j<numCols;j++){
printf("%i|",pt[i][j]);
}
}
}
在開始的時候,我想從代碼塊來了這個錯誤,但我儘量讓再次沒有創建一個項目,它沒有工作。而我的其他程序似乎工作。 那麼我的代碼有什麼問題?我檢查了我的參數,但它似乎確定,所以也許這是我的方式來使用二維數組作爲參數? 錯誤是:
||=== Build: Debug in Sudoku (compiler: GNU GCC Compiler) ===| ||error: ld returned 1 exit status| ||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
我有這樣的生成日誌:
obj\Debug\main.o:main.c:(.data+0x0): first defined here obj\Debug\SudokuS.o:SudokuS.c:(.data+0x4): multiple definition of `numCols' obj\Debug\main.o:main.c:(.data+0x4): first defined here collect2.exe: error: ld returned 1 exit status
這是一個連接錯誤。你錯過了一個文件... – Shark
我該如何解決這個問題? 爲什麼它只出現在這個項目和這些文件而不是其他文件? – KIToRe
@Shark:「*丟失文件*」? 「* numCols的多重定義*」! – alk