C言語なら俺に聞け 161at TECH
C言語なら俺に聞け 161 - 暇つぶし2ch86:はちみつ餃子
23/05/02 11:04:32.32 HpVmkNB+0.net
>>76
私が知る限りにおいて文法上は正しい。
しかし X の有効範囲 (スコープ) は関数内だけなので
関数の外で struct X に対応する値を生成できず、
まともな方法では適切な実引数を与えることができない。
内容が同じ構造体は「適合」するし引数が適合する関数も適合するはずなので
強引にキャストして呼出しても言語仕様に反しないと思うのだけど
適合の概念をちゃんと理解できてる自信はない……
void func(struct X{int a;} b){}
int main(void) {
struct X{int a;} b = {1};
// このキャストはたぶんアリだと思うけど自信はない
void (*f)(struct X) = (void(*)(struct X))func;
f(b);
}


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch