設計途中でまだ意味不明のプログラムなのですが
ユーザ関数の受け渡しについて試しにコンパイルしてみたら
エラー E2356 expawa.c 6: 'exp' の再宣言で型が一致していない
エラー E2344 C:\BORLAND\BCC55\include\math.h 157: 一つ前の 'exp' の定義位置
警告 W8075 expawa.c 9: 問題のあるポインタの変換(関数 main )
警告 W8064 expawa.c 16: プロトタイプ宣言のない関数の呼び出し(関数 main )
エラー E2356 expawa.c 21: 'exp' の再宣言で型が一致していない
エラー E2344 expawa.c 6: 一つ前の 'exp' の定義位置
というエラーがでてきました
再宣言での型は同じだと思うのですがなぜでしょう?
わかる方がいたら教えてください
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<string.h>
int exp(int yuan[3][3]);
int main() {
int (*po[])() = { exp };
int menu;
int a[3][3],b[3][3];
printf("実行する関数の番号を指定してください\n 1:拡大縮小 2:回転 3:鉛直方向のせん断 4:水平方向のせん断 5:平行移動");
scanf("%d" , &menu);
(*po[menu])(a);
return 0;
}
int exp(int yuan[3][3]){
//変換後の行列ploce変換行列のdata
double ploce[3][3],data[3][3];
double a,b;
int i,j;
//各行列を初期化
for(i=0;i<3;i++){
for(j=0;j<3;j++){
ploce[j]=0;
data[j]=0;
}
}
printf("縦方向の倍率と横方向の倍率をスペースで区切って入力してください\n");
scanf("%lf %lf",&a,&b);
data[0][0]=a;
data[1][1]=b;
return 0;
}
ユーザ関数について
Re: ユーザ関数について
C言語の標準ライブラリ(math.h)にあるexp関数を再定義しようとしているのでエラーになっています。エラー E2344 C:\BORLAND\BCC55\include\math.h 157: 一つ前の 'exp' の定義位置
-
kyon2kumi
Re: ユーザ関数について
すみません、ありがとうございます
なるほど、初歩的なミスでした
今後トピックたてるときはフォーラムルールきちんと読みます、すみませんでした
なるほど、初歩的なミスでした
今後トピックたてるときはフォーラムルールきちんと読みます、すみませんでした