मैं भर के अन्य धागे किसी भी तरह इस से संबंधित पर तलाश रहे हैं, लेकिन किसी भी तरह मैं सिर्फ यह नहीं मिलता है 'असंगत सूचक प्रकार [डिफ़ॉल्ट रूप से सक्षम] से' तर्क गुजर ...चेतावनी:
मैं मूल्यों के एक सेट पर कुछ एफएफटी करना चाहते हैं, मैंने मूल्यांकन किया है और इस कार्यक्रम को पहले मूल्यों को पढ़ने और उन्हें n
आकार की सरणी में सहेजने के लिए लिखा है।
int main() {
// some variables and also a bit of code to read the 'messwerte.txt'
printf("Geben sie an wieviele Messwerte ausgelesen werden sollen: ");
scanf("%d", &n);
double werte[n]; //Array der "fertigen" Messwerte
in = fopen ("messwerte.txt","r");
double nul[n]; //Array von nullen
int logN = 14;
l=FFT(logN,&werte,&nul);
}
एक ही फाइल मैं भी इस कार्यक्रम की मदद से FFT कर में:
double FFT (int logN, double *real, double *im) //logN is base 2 log(N) {
// blabla FFT calculation
}
हालांकि, जब मैं संकलन मैं हमेशा इस त्रुटि मिलती है:
gcc FFT.c -lm
FFT.c: In function ‘main’:
FFT.c:94:2: warning: passing argument 2 of ‘FFT’ from incompatible pointer type [enabled by default]
FFT.c:4:8: note: expected ‘double *’ but argument is of type ‘double (*)[(unsigned int)(n)]’
FFT.c:94:2: warning: passing argument 3 of ‘FFT’ from incompatible pointer type [enabled by default]
FFT.c:4:8: note: expected ‘double *’ but argument is of type ‘double (*)[(unsigned int)(n)]’
इस के बाद से मेरा पहला समय प्रोग्रामिंग है, मैं वास्तव में नहीं जानता कि मेरे कोड में क्या गलत है। क्या मुझे कंपाइलर या उस तरह की चीजों के लिए और झंडे सेट करना होगा (क्योंकि मुझे यह -lm
सामान करना था या यह संकलित नहीं होगा और ऐसा कुछ नहीं मिलेगा जैसे पाउ नहीं मिला या नहीं)?
मुझे यह भी पता चला कि विंडोज या लिनक्स मशीन पर लिखते समय कोई अंतर हो सकता है, और मैं ओएस की समस्या होने पर लिनक्स, लुबंटू 12.10 32-बिट का उपयोग कर रहा हूं।
* जब आप करते हैं और आप पते के पते को पारित करने का प्रयास कर रहे हैं * वास्तव में नहीं। और werte एक ही पते पैदा करता है, लेकिन एक अलग प्रकार के साथ। – cnicutar
क्षमा करें। किसी पते पर पता नहीं, मैं 2 डी सरणी में पहले तत्व के पते के लिए उचित शब्द ढूंढ रहा था (जिसे आप देख सकते हैं, स्वयं में थोड़ा समझ में आता है)। हालांकि मुझे इसे आपके उत्तर में रखने का सही तरीका मिला। : डी – varevarao