Mat*_*ner 8 c c++ gcc struct visual-studio-2010
在海湾合作委员会,我能够做到这一点:
(CachedPath){ino}
inode->data = (struct Data)DATA_INIT;
Run Code Online (Sandbox Code Playgroud)
哪里:
struct CachedPath
{
Ino ino;
};
typedef int8_t Depth;
struct Data
{
Offset size;
Blkno root;
Depth depth;
};
#define DATA_INIT {0, -1, 0}
Run Code Online (Sandbox Code Playgroud)
MSVC为这些类型的转换提供以下错误:
error C2143: syntax error : missing ';' before '{'
Run Code Online (Sandbox Code Playgroud)
我怎样才能在MSVC中这样做?进一步注意,代码已经从C99转换而来,我为此使用了指定的初始值设定项,然后进行类似的转换.关于C99与C++的MSVC/GCC实现之间如何关联这些各种特征的任何清晰都是值得赞赏的.
Bar*_*nau 12
构造(Type){initialisers}不是强制转换操作,但它是复合文字的句法结构.这是一个C99构造,GCC在其C++编译器中也支持它作为扩展.据我所知,MSVC在C或C++模式下都不支持复合文字.
这种结构的替代方案是
| 归档时间: |
|
| 查看次数: |
3890 次 |
| 最近记录: |