如何在全局范围内初始化结构/类

2023-12-11

我现在知道如何在全局范围内初始化结构。

以下是示例代码:

#include<GL/glut.h>
struct A
{
    int x;
};
struct A a;
a.x=6;
int main()
{}

我在 Ubuntu 11.10 上,当我编译这个程序时,出现以下错误:

error: ‘a’ does not name a type

我不知道为什么会发生这种情况。我想知道如何将复杂的参数传递给某些回调函数?

多谢


我在 Ubuntu 11.10 上,当我编译这个程序时,出现以下错误: error: ‘a’ does not name a type

编译器通过此消息告诉您,对结构成员的赋值不能在全局范围内发生。如果你想初始化a要么写

struct A a = {6};

或使用更新的语法

struct A a = {.x = 6};

或者在程序启动后尽早进行初始化分配(即在 main 的开头)。

更新/编辑:

顺便说一句:这与 GLUT 或任何其他标头无关。这是语言规范的事情。

更新/编辑2

我想知道如何将复杂的参数传递给某些回调函数?

好吧,在 GLUT 回调的情况下,这会很困难,因为 GLUT 不允许您指定用户定义的回调数据。你可以使用ffcall就地创建库closures然后传递给 GLUT。但有以下几点需要考虑:一旦遇到困难,就该抛弃过剩了。 GLUT 不是 OpenGL 开发的要求,也从来不是复杂应用程序的基础。所以那就不要使用它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在全局范围内初始化结构/类 的相关文章

随机推荐

  • SimpleHttpOperator Airflow,数据模板化

    我正在尝试正确渲染data里面一个SimpleHttpOperator在 Airflow 中 并通过我发送的配置dag run result SimpleHttpOperator task id schema detector http c
  • `%in%` 和 `==` 有什么区别?

    df lt structure list x 1 10 time c 0 5 0 5 1 2 3 0 5 0 5 1 2 3 Names c x time row names c NA 10L class data frame df df
  • 关于Struts2中的Action映射 - 没有映射Action

    我正在尝试运行我的 struts 应用程序 但收到错误操作未映射我已经看到名称空间是正确的 但仍然收到错误 struts xml
  • 响应式 2 列 CSS 布局,包括固定宽度的侧边栏?

    在任何地方都找不到这个问题的解决方案 我猜这一定是一个非常常见的问题 我正在创建一个带有侧边栏的响应式设计 其中侧边栏需要具有 200px 的固定宽度 并且高度未知 我怎样才能使主要内容区域占据所有剩余宽度 而不会出现任何异常行为 我最接近
  • 如果 scalatest 中的 FunSpec 的 afterEach 测试失败,如何确定

    在使用 FunSpec 的 scalatest 中 我有一些在 afterEach 中触发的代码 我想仅在测试失败时执行一些代码来获取屏幕截图 我所看到的几乎所有内容都试图通过将断言放入 try 块中来解决这个问题 这看起来很糟糕 Test
  • 如何等待回调函数返回?

    我正在使用phonegap 制作一个android 应用程序 我正在使用phonegap 的Storage api 来查询数据库 这是我的代码 function directPath src dest var db window openD
  • 自动调整文本输入框html大小

    我创建了一个输入 键入文本 框并使其自动调整大小非常简单 但是 有一些我似乎无法修复的故障 当我开始打字时 盒子缩小了一点 当我按退格键 或方向箭头 时 该框首先展开 然后在我继续键入时缩小 这是我的代码 function Expander
  • 反转生成的 vtable 函数顺序(具有相同名称的函数)

    如果使用 Visual Studio 2019 我使用两个具有相同名称但不同参数的虚拟方法来编译此 C 代码 struct MyStruct virtual void foo float 0 virtual void foo int 0 c
  • VBA中字符串的串联和最大长度,访问

    我在 access vba 中的字符串方面遇到了严重的问题 问题是 access 有时 将字符串的长度限制为大约 255 个字符 但是 根据字符串的构建方式 它可能会增长到超过 255 个字符 有一个工作代码的示例 Dim strReq a
  • 将父鼠标事件应用于子元素

    我正在制作小型 Windows 窗体应用程序 我里面有 PictureBox 父 和 Label 子 父元素的鼠标事件工作正常 但子元素生成的鼠标事件不会反映在父元素上 光标也会变回默认值 箭头 是否有可能pass由子控件生成的事件 例如M
  • 条件 SQL 计数

    创建计算表中数据出现次数的列的最佳方法是什么 表格需要按一列分组 我的数据库是 PostgreSQL 我见过 SELECT sum CASE WHEN question1 0 THEN 1 ELSE 0 END AS ZERO sum CA
  • Python 标准库,信号 :: AttributeError:模块“信号”没有属性“SIGALRM”

    我正在尝试设置函数超时 但是没有成功 我运行示例代码https docs python org 3 library signal html highlight signal 20sigalrm example 但是 我得到Attribute
  • Firebase Angular2 - 如何在没有太多开销的情况下查询和渲染列表

    在我的应用程序中 我有以下 firebase posts 结构 posts text meta user id user1 username 我正在使用 AngularFire2 因此 为了获取特定用户发布的所有帖子 我运行以下查询 thi
  • jQuery .html() 和里面的变量

    我想把变量FLC放在里面 FNC html 但不知道怎么做 有什么建议吗 DEMO var FLV random input box val FNC html
  • 非成员函数是否可以返回 const 值?

    如果是这样 怎么办 这个问题还有道理吗 就我而言 调用者修改返回的对象是没有意义的 因此我想将其标记为不可修改 const MyClass foo 是有效的 但返回 const 值没有意义 无论如何它都会被复制 您可以返回 例如常量引用 c
  • 循环在第一次后跳过 scanf 语句

    这是 main 的代码 int main void float acres 20 float bushels 20 float cost 0 float pricePerBushel 0 float totalAcres 0 char ch
  • WireMock 可以回放来自多个域的请求吗?

    我正在构建一个 Docker 化的记录播放系统来帮助我记录网站 这样我就可以根据本地版本而不是真实版本来设计抓取工具 这意味着我不会用自动请求淹没网站 并且具有不需要连接到网络即可工作的额外优势 我在内部使用了基于 Java 的 WireM
  • 应用程序和控制器类之间的 JavaFX FXML 通信

    我试图获取并销毁我在 FXML 应用程序关闭中通过 ProcessBuilder 创建的外部进程 但它不起作用 这是基于有用的建议谢尔盖 格里涅夫给了我这里 我尝试过使用 不使用 myController setApp this 来运行并使
  • 安全沙箱违规:缺乏策略文件权限

    我正在使用 as3httpclientlib 将数据发布到我的网络服务 但我不断 遇到以下安全违规 有谁知道如何解决这个问题 我的 crossdomain xml 文件位于安全违规通知下方 NOTE 我使用 apache 来代理对 Web
  • 如何在全局范围内初始化结构/类

    我现在知道如何在全局范围内初始化结构 以下是示例代码 include