###前提・実現したいこと
c言語で構造体関数を用いて平面座標上の点を時計回りに90度回転するプログラムの作成
###発生している問題・エラーメッセージ
typedefを使い,且つタグ名を省略するとエラーが発生します.ただし,タグ名を省略しなければコンパイルできます.
現状,コンパイルエラーを避けるためにタグ名を記述しているですが,なぜタグ名を省略するとコンパイルできないのでしょうか.その原因が分かりません.
エラーメッセージ
invalid use of undefined type "struct point",
conflicting type for "rot"....など
###該当のソースコード
typedef struct /point/{ //タグ名は省略できない?
int x;
int y;
}point;
struct point rot(point p);
int main(){
point p,q;
p.x = 10; p.y = 1; q = rot(p); printf("x = %d\ny = %d\n",q.x,q.y);
}
struct point rot(point p){
point q;
q.x = p.y; q.y = -p.x; return q;
}
###試したこと
タグ名と構造体型を変えても発生する
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/06/12 14:37