尝试在Allegro 5 C ++中创建事件队列的问题

问题描述

我正在尝试使用ALLEGRO_EVENT_QUEUE在Allegro中创建事件队列,但由于尝试读取位置0x0000而收到侵权错误。 这是错误消息(它是西班牙语): Excepciónno controlada zh 0x7BE755AF(allegro-5.0.10-monolith-md.dll)en Geometry World.exe:0xC0000005:Infracciónde acceso al leer laubicación0x00000000。

这些是我代码中包含的内容

#include

#include

#include

#include

#include

#include

#include

#include

这是错误所在行中的代码

int main(int argc,char** argv) {ALLEGRO_EVENT_QUEUE* colaEventos = al_create_event_queue();}

真的很感谢您的帮助

解决方法

如果那一行代码就是你所有的代码,那么这里的问题是你没有正确初始化 allegro。

您必须先调用 // GET: Equipment/Create public IActionResult Create() { ViewData["AreaID"] = new SelectList(_context.Area,"AreaID","AreaName"); ViewData["SupplierID"] = new SelectList(_context.Supplier.OrderBy(s => s.SupplierName),"SupplierID","SupplierName"); return View(); } // POST: Equipment/Create [HttpPost] [ValidateAntiForgeryToken] public async Task<IActionResult> Create([Bind("EquipmentID,EquipmentName,SerialNumber,Brand,AreaID,EquipmentSupplier")] Equipment equipment) { if (ModelState.IsValid) { _context.Add(equipment); await _context.SaveChangesAsync(); return RedirectToAction(nameof(Index)); } ViewData["AreaID"] = new SelectList(_context.Area,"AreaName",equipment.AreaID); return View(equipment); } ,然后才能调用任何其他快板函数。

请参阅one of the allegro examples,了解如何正确设置事件队列。