Joã*_*ulo 2 c arrays struct initialization visual-studio-2015
我有这个结构:
struct Foo {
int a;
int* b;
};
Run Code Online (Sandbox Code Playgroud)
然后我就像这样为它创建一个实例:
int x [] = { 5, 6 };
Foo y = { 2, x };
Run Code Online (Sandbox Code Playgroud)
但是,我想创建x内联数组,可能是这样的:
struct Foo y = { 2, (int[]) { 5, 6 } };
Run Code Online (Sandbox Code Playgroud)
但上面的例子不起作用......我怎样才能做到这一点?
---------编辑:
我从intellisense得到这个错误:
转换为不完整的数组类型"int []"是不允许的
构建错误:
错误C4576括号类型后跟初始化列表是非标准显式类型转换语法
我正在使用Visual Studio 2015(v140).
在你的情况下,Foo不是一种类型.
尝试
struct Foo y = { 2, (int[]) { 5, 6 } };
Run Code Online (Sandbox Code Playgroud)
编辑:
您只需要以free()编程方式使用分配器功能(malloc()和系列)分配内存.分配器函数未返回的内存不需要free()由程序员-d.
编辑1:
关于C4567,请看这个
| 归档时间: |
|
| 查看次数: |
196 次 |
| 最近记录: |