Byla vydána nová verze 19 integrovaného vývojového prostředí (IDE) Qt Creator. Podrobný přehled novinek v changelogu.
Bitwig Studio (Wikipedie) bylo vydáno ve verzi 6. Jedná se o proprietární multiplatformní (macOS, Windows, Linux) digitální pracovní stanici pro práci s audiem (DAW).
Společnost Igalia představila novou linuxovou distribuci (framework) s názvem Moonforge. Jedná se o distribuci určenou pro vestavěné systémy. Vychází z projektů Yocto a OpenEmbedded.
Google Chrome 146 byl prohlášen za stabilní. Nejnovější stabilní verze 146.0.7680.71 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 29 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
D7VK byl vydán ve verzi 1.5. Jedná se o fork DXVK implementující překlad volání Direct3D 3 (novinka), 5, 6 a 7 na Vulkan. DXVK zvládá Direct3D 8, 9, 10 a 11.
Bylo vydáno Eclipse IDE 2026-03 aneb Eclipse 4.39. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.
Ze systému Slavia pojišťovny uniklo přibližně 150 gigabajtů citlivých dat. Jedná se například o pojistné dokumenty, lékařské záznamy nebo přímou komunikaci s klienty. Za únik může chyba dodavatelské společnosti.
Sněmovna propustila do dalšího kola projednávání vládní návrh zákona o digitální ekonomice, který má přinést bezpečnější on-line prostředí. Reaguje na evropské nařízení DSA o digitálních službách a upravuje třeba pravidla pro on-line tržiště nebo sociální sítě a má i víc chránit děti.
Meta převezme sociální síť pro umělou inteligenci (AI) Moltbook. Tvůrci Moltbooku – Matt Schlicht a Ben Parr – se díky dohodě stanou součástí Meta Superintelligence Labs (MSL). Meta MSL založila s cílem sjednotit své aktivity na poli AI a vyvinout takovou umělou inteligenci, která překoná lidské schopnosti v mnoha oblastech. Fungovat by měla ne jako centralizovaný nástroj, ale jako osobní asistent pro každého uživatele.
Byla vydána betaverze Fedora Linuxu 44 (ChangeSet), tj. poslední zastávka před vydáním finální verze, která je naplánována na úterý 14. dubna.
Mam nasledujici C++ zacatecnicky problem a po dlouhym zkouseni a hledani uz nevim co dal s nim:
Mam tridu cprinting a v ni se snazim vytvaret objekty cobject_box, cobject_line (a dalsi) zalozene na tride cobject (zkousel jsem ji pro jistotu uz i prejmenovavat). cobject.h neobsahuje nic svetobornyho, v podstate jen tu deklaraci tridy, dve jeji clenske promenne, konstruktor a jednu virtualni funkci 'print()'. Nic v ni neni private.
Pro vetsi kratkost jsem z nasledujicich vypisu vyhazel vse nezajimave vcetne namespacu (i z chybovych hlasek)(ktere nemeni nic na vysledcich). Cele je to vytvarene v kdevelop.
soubor cprinting.h
#include "cobject.h"
#include "cobject_box.h"
#include "cobject_line.h"
...
//forward deklarace
class cobject; //potreba kvuli ukazateli na instanci
//class cobject_box; \_ nemeni nic
//class cobject_line; /
//deklarace
class cprinting
{
public:
...
soubor cobject.h
#include "cprinting.h"
...
class cprinting; //forward deklarace
class cobject_base
{
public:
...
soubor cobject_box.h:
#include "cobject.h"
#include "cprinting.h"
...
class cprinting; //forward deklarace
class cobject_box : public cobject
{
public:
...
Takze toto pri kompilaci haze tento vysledek:
In file included from cprinting.h:23,
from cobject.h:10,
from cobject.cpp:2:
cobject_box.h:29: error: expected class-name before ‘{’ token
In file included from cprinting.h:24,
from cobject.h:10,
from cobject.cpp:2:
cobject_line.h:33: error: expected class-name before ‘{’ token
Coz je prave ta uvedena '{' v cobject_box.h pod radkem class.Po pridani forward deklarace 'class cobject;' do cobject_box.h a pripadne i cobject_line.h dostanu:
In file included from cprinting.h:23,
from cobject.h:10,
from cobject.cpp:2:
cobject_box.h:29: error: invalid use of incomplete type ‘struct cobject’
cobject_box.h:27: error: forward declaration of ‘struct cobject’
In file included from cprinting.h:24,
from cobject.h:10,
from cobject.cpp:2:
cobject_line.h:33: error: invalid use of incomplete type ‘struct cobject’
cobject_box.h:27: error: forward declaration of ‘struct cobject’
Pokud tam nacpu celou deklaraci tridy cobject, tak to na me rve redefinici. Pokud pouziju kompiler z trojkovy rady, tak taky nic.
Nemate nekdo nahodou nejakej hint k nakopnuti?
#pragma once
#ifndef COBJECT_H #define COBJECT_H ... #endif?
(Mozna jsem ty vypisy zestrucnil az moc... :-/ )
Nicmene jsem to dal do vsech hlavicek pred to #ifndef, ale vysledek je uplne stejnej...
Mate nekde v cobject.h plnou definici tridy cobject? Bez ni totiz nemuzete z cobject dedit.
P.S. Priste se, prosim, pokuste dodat minimalni, ale uplny kod, ktery neni protkan zaplavou trojtecek. Obvykle se lidem totiz podari vynechat prave ty casti kodu, ktere jsou pro vznik chyby klicove. A to je IMHO i tento pripad.
Tuhle je ta uplnejsi verze cobject.h vcetne deklarece ty tridy cobject:
#ifndef COBJECT_H
#define COBJECT_H
#include "common.h"
#include "cprinting.h"
namespace printer
{
class cprinting;
class cobject
{
public:
cobject ( cprinting *pcprint, Uint32 _x0, Uint32 _y0 );
cobject ( cprinting *pcprint, const char *input_line );
virtual void printObject();
~cobject();
protected:
Uint32 posx;
Uint32 posy;
cprinting *pprinting;
};
}
#endif
Uplnou definici tech funkci mam v cobject.c. Je to spatne?
#include "cprinting.h". Od toho ty forward deklarace existují - když chceš použít pointer (nebo možná i referenci, pokud se nemýlím), stačí vědět, že nějaká třída toho názvu vůbec existuje a k tomu stačí forward deklarace. Naopak pokud by přímo součástí struktury (třídy) měla být jiná struktura (třída), což je vlastně i případ dědění, pak už by forward deklarace nestačila.
#include "cprinting.h" pak bude potřeba až v cobject.cpp, tam už ale nebude vadit.
Diky! Prebytecny includy jsem vyhazel do .cpp souboru a hned jsem postoupil az k linkovani! Tot ten spravnej level, kde se na me pro zmenu vysypala spousta mnohonasobnych definici neclenskych inicializovanych textovych retezcu z tech headeru...
)) Mno, s tim uz si snad nejak poradim... Nejakej registrovanej dobrovolnik, kterej tento pripad uzavre?
class cobject_box : public cobject, ale o tříde cobject ještě vůbec nic nevím, protože jsem z cobject.h musel utéct nejdřív sem!
Je sice fajn, kdyz se rozhodnu vyzkouset si napsat neco v c++, ale taky by bylo asi fajn precist si neco malo o tom prekladaci a ne jen o odvozovani trid. Vyrazim z prace domu...
Tiskni
Sdílej: