小编MrJ*_*olo的帖子

D语言函数调用参数

我正在学习D并且在C#方面经验丰富.具体来说,我正在尝试使用Derelict3绑定到SDL2.我已经能够使一些基本功能正常工作,但我已经厌倦了如何为特定调用创建数组参数.

该库包含一个电话

SDL_RenderDrawLines(SDL_Renderer*, const(SDL_Point)*, int)  //Derelict3 Binding
Run Code Online (Sandbox Code Playgroud)

我无法正确地形成论据

const(SDL_Point)*
Run Code Online (Sandbox Code Playgroud)

此函数的SDL文档声明此参数是一个数组SDL_Point,但我不清楚如何创建一个适当的数组来传递给这个函数.

这是我目前所拥有的一个例子:

void DrawShape(SDL_Renderer* renderer)
{
    SDL_Point a = { x:10, y:10};
    SDL_Point b = { x:500, y:500};

    const(SDL_Point[2]) points = [a,b];

    Uint8 q = 255;
    SDL_SetRenderDrawColor(renderer,q,q,q,q);
    SDL_RenderDrawLines(renderer,points,1);
}
Run Code Online (Sandbox Code Playgroud)

并且编译器抱怨我没有为const(SDL_Point)*in 传递正确类型的参数points.

Error: function pointer SDL_RenderDrawLines (SDL_Renderer*, const(SDL_Point)*, int)
is not callable using argument types (SDL_Renderer*, const(SDL_Point[2u]), int)
Run Code Online (Sandbox Code Playgroud)

我怀疑这是我的一个根本误解所以任何帮助将不胜感激.

sdl d derelict3 sdl-2

3
推荐指数
1
解决办法
567
查看次数

标签 统计

d ×1

derelict3 ×1

sdl ×1

sdl-2 ×1