错误:“)”标记之前的预期主表达式(C)

新手上路,请多包涵

我正在尝试调用一个名为 characterSelection(SDL_Surface *screen, struct SelectionneNonSelectionne sel) 的函数,它返回一个 void

这是我尝试调用的函数的 .h

 struct SelectionneNonSelectionne;
void characterSelection(SDL_Surface *screen, struct SelectionneNonSelectionne);
void resetSelection(SDL_Surface *screen, struct SelectionneNonSelectionne);

在我的主要功能上,我尝试这样称呼它:

 characterSelection(screen, SelectionneNonSelectionne);

当我编译时,我有消息:

  error: expected primary-expression before ')' token

我制作了 includes 。我想我误解了第二个论点,我的 struct 。但是,我在网上找不到原因。

你知道我做错了什么吗?

原文由 Flo 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 640
2 个回答

您应该创建一个 SelectionneNonSelectionne 类型的变量。

 struct SelectionneNonSelectionne var;

之后将该变量传递给函数

characterSelection(screen, var);

错误是因为您传递了类型名称 SelectionneNonSelectionne

原文由 ninja 发布,翻译遵循 CC BY-SA 3.0 许可协议

您将类型作为参数传递,而不是对象。您需要执行 characterSelection(screen, test); 测试类型为 SelectionneNonSelectionne

原文由 ForceBru 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题