struct object
{
std::string name,
type = "string",
value;
object() {}
object(std::string name, std::string value="", std::string type="string")
{
this->name = name;
this->type = type;
this->value = value;
}
object& operator=(std::string _Val)
{
value = _Val;
return (*this);
}
};
struct Form
{
uint32_t size;
object * objects;
Form() {}
Form(object objects[], uint32_t size)
{
this->size = size;
this->objects = objects;
}
};
class Data
{
uint32_t sizeVal;
public:
object *objects;
uint32_t size()
{return sizeVal;}
Data(object objects[], uint32_t size)
{
this->sizeVal = size;
this->objects = objects;
}
Data(Form form)
{
objects = form.objects;
sizeVal = form.size;
}
Data(){}
ERROR_ID SetValueByID(ID id, std::string value)
{
if (id >= sizeVal) return -1;
objects[id].value = value;
return 0;
}
ERROR_ID SetValueByName(std::string name, std::string value)
{
int id = -1;
for (int i = 0; i < sizeVal; i++)
{
if (objects[i].name == name)
{
id = i;
break;
}
}
if (id == -1) return -1;
objects[id].value = value;
return 0;
}
object& getObjByID(ID id)
{
if (id >= sizeVal)
{
object error_value;
return error_value;
}
return objects[id];
}
object& getObjByName(std::string name)
{
for (int i = 0; i < sizeVal; i++)
{
if (objects[i].name == name) return objects[i];
}
object error_value;
return error_value;
}
};
object x[5] = {object("name"), object("password"), object("secretask"), object("123"), object("124")};
Form form(x,5);
DataBase DB(form, "newdb");
Data user(x, 5), user2(x,5), user3(x, 5);
Почему адрес objects у form, user,user2,user3 одинаковый? И как это исправить?
Как поместить WndProc в класс? Как это работает в оконных библиотеках? (например GLFW)Как я понял в windows forms все события это wndproc, но как wndproc помещен...
Пишу небольшой кроссплатформенный проект на qt5 + cmake с использованием protobufНа linux всё собирается замечательно но на windows cmake не может выполнит...
можно ли писать такой код: