Застрял на этом весь день. Данные в statsStruct становятся коррумпированными в первую секунду, когда программа начинается в главном в строке 1. Я не знаю, почему, когда я пытаюсь объявить statsStruct как глобальный, он становится сюда. EDIT: Это делает компилировать только значения все перепутались в statsstruct, текст поврежден и значение 323232C++ Struct Array Win Form corporation
extern attributes statsStruct[];
statsStruct является ехЬегп в файле заголовка для нескольких CPP, но Iv удален весь исходный код до просто statsSTruct остается, но Я не могу заставить его быть глобальным. Когда я объявляю его внутри функции, он работает с хорошими значениями, но мне нужно, чтобы он был глобальным для нескольких файлов и имел одно значение.
// tess.cpp : main project file.
#include "stdafx.h"
#include "Form1.h"
#include "test.h"
using namespace tess;
struct attributes{
std::string stat;
int amount;
};
attributes statsStruct[] = {{"Acc",0},
{"Cri",0},
{"Cr",0},
{"Crit",0},
{"Cr",0},
{"Ev",0},
{"An",0}};
[STAThreadAttribute]
int main(array<System::String ^> ^args)
{
// Enabling Windows XP visual effects before any controls are created
Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false);
// Create the main window and run it
Application::Run(gcnew Form1());
return 0;
}
Вы должны указать, как вы можете сказать, что массив поврежден. Возможно, ваш код для чтения массива неверен. – john
Пройдя через него с отладчиком, точка останова в первой точке в главном и посмотрите на него. Я также посмотрел на него в функциях, которые предполагают использовать его, и он тоже ошибался, поэтому я верю, что его объявление может быть объявлено? новый для этой формы. Код имеет нулевые проблемы без кода интерфейса. –
Кажется, что один знает :( –