Re: 構造体の初期化

投稿ツリー


このトピックの投稿一覧へ

なし Re: 構造体の初期化

msg# 1.1.1
depth:
2
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2009/4/18 20:38
tama  一人前   投稿数: 111
> 静的メンバの初期化子はコンパイル時に評価可能なものに限られます
> というのが仕様にあるので、デリゲートリテラル(実行時に評価)がダメなのでは?

http://www.digitalmars.com/d/2.0/struct.html
ここの"Static Initialization of Structs"の最後を見る限り,動的初期化にも使えるのはず,と気になったので1の部分を
#code(d){{{
VT v = {"v" , { return; } };
}}}
に変更したら,見事にコンパイルエラーにorz
どうも静的初期化内では';'を置くとコンパイルエラーになる様子(2が通って3が通らないのも同じ理由かな).ということは,現状どちらも同じく扱うにはSHOOさんの仰るとおりVT(~)の構造体リテラルを使うしかないっぽいですね.

> D2.0の構造体の初期化は絶対に整理が必要だと思います。

今はとりあえず昔からの習慣でstatic opCallを使っているけど,確かにちょっと整理したい所です.
投票数:163 平均点:4.05
返信する

この投稿に返信する

題名
ゲスト名
投稿本文

  条件検索へ


メインメニュー

ログイン

ユーザー名:


パスワード:





パスワード紛失  |新規登録

Menu