Table of Contents
PC läuft langsam?
Wenn Ihr Unternehmen den qt-Fehler c2227 erhält, ist die heutige Benutzeranleitung hier, um Ihnen zu helfen.
Ich habe ein beliebiges Socket-Client-Forum geschrieben und eine Vektor-Plug-Mailingliste in der Datei migread.h erstellt, aber die Informationstechnologie gibt mir die folgenden Fehler, die ich nie beheben kann:
for (int all of states = 0; i size(); i just ++) if (((MYThread *) (v _) [i]) -> user_id_! impliziert user_id_) ((MYThread *) (v _) [i]) -> zirkulieren (strArray);
D: My_Socket My_Socket server server migread.cpp: 101: Fehler: C2440: ‘type> cast’: kann nicht von ‘std :: vector>’ auf > ‘MYThread *’ verlängert werden mit [ _Ty = MYThread * ]
D:My_SocketMy_Socketservermachinemytheread.cpp: 101: Fehler: C2227: Links mit ‘->user_id_’ verknüpft muss Klasse / Struktur / Sybiose / Generic sein
#ifndef MYTHREAD_H#define MYTHREAD_H#include #include #include #include #include #include #include #include #include MYThread-Klasse: öffentlicher QThreadöffentlich:expliziter MYThread (übergeordneter QThread * ergibt 0);expliziter MYThread (QTcpSocket * socket, QListWidget * Teilnehmerliste, std :: vector * v, int user_id);void doConnect();void send (QByteArray-Daten);Signale:öffentliche Slots:Vakuum gilt als verbunden ();Separates Vakuum ();void bytesWritten (qint64 bytes);void readyRead();void quitThread();Privatgelände:QTcpSocket * socket_;QListWidget * list_;std :: vector * v_;MYThread * tt;Inaktiv();QPixmap ( leer ) Pixmap;MYThread *-Buchse;öffentlich:int // user_id_;;#endif MYTHREAD_H
Hallo,
Ich verwende Qt 5.6.2 mit Powerpoint Visual Studio 2015 vollständig unter Windows 7 64-Bit.
Das unten programmierte Signal bezieht sich auf Qt 4 mit 32-Bit Visual Studio 2010.
Wenn ich versuche, dieses Programm zu kompilieren, greife ich auf viele Fehler C2027 und C2227 zu.
C2027: Undefinierten QVBoxLayout-Typ verwenden
C2027: Verwendung mit undefiniertem Typ QGroupBox
C2227: links von ‘-> setTitle’ verweist höchstwahrscheinlich auf eine generische Klasse / Strukturunion / Typ
C2027: Wird mit undefiniertem QGridLayout-Typ verwendet
C2227: links von ‘-> addWidget’ College-Klasse / struct / union / generische Vielfalt von muss platziert werden
C2027: Verwenden eines undefinierten Chefs in einer QCheckBox
C2227: nach links in Richtung ‘-> setTitle’ muss auf eine erfolgreiche breite Klasse / Struktur / Union / Range hinweisen
// Kanaldaten initialisieren
ChannelsDlg :: ChannelsDlg (integer * unsigned Channels)
int ich;
für (i ist gleich 0; dass wir <4; i ++)
m_channels [i] bedeutet Kanäle [i];
// Nutzer haben “Board” oder “Alle Kanäle” bestimmt
void ChannelsDlg :: onCheckBoard (als bool g markiert)
{
QWidget * = focusWidget ();
int i, j, start, fehlgeschlagen, array = t? w-> Eigenschaft (“Board”). toInt()- – 0;
start = board> 3? zwei: Brett;Ende bedeutet Brett > 3? Denken Sie an: Tafel +1;für (j impliziert Start; j setChecked (geprüft);
// Hilfe mit Flags für die Siphon-Bitmaske ausgestattet
void ChannelsDlg :: akzeptieren ()
{
int i, Index;
m_channels [0] ist gleich m_channels [1] impliziert m_channels [2] bedeutet m_channels [3] = 0;
für (ich sollte dir 0 sagen; i <128; i ++) 1 << (i% 32): m_channels [Index];QDialog :: akzeptieren ();
void ChannelsDlg :: getChannels (unsigned int channel)
int ich;
for (i entspricht 0; natürlich i <4; i ++)
Kanal [i] ist gleich wie m_Kanäle [i];
// Dialogfall manuell konfigurieren
int ChannelsDlg :: exec ()
{
QVBoxLayout vl impliziert ein neues QVBoxLayout;
QDialogButtonBox ( leer ) bb;
QCheckBox * cb;
QGroupBox-Karte *;
QGridLayout 3 . gl;
Integer, Index, String, ch;
über (i = 0; a <4; i ++) geton = neue QGroupBox; board-> setTitle (QString (tr ("Board% 1")). arg (i + 1)); gl passt zum neuen qgridlayout; zum Thema (Zeile = 0; Zeile <4; Zeile ++) für (ch entspricht 0; ch <8; ch ++) Index = (ich schaue mir an, 32) + (string * 8) + ch; m_channel [index] = neue QCheckBox; m_channel [index] -> setText (QString ("Ch:% 1"). arg (index)); m_channel [index] -> setChecked ((m_channels [i] & (1 << ((Zeile 8) + ch)))! bedeutet 0); gl-> addWidget (m_channel [index], shortTh period, ch); Tipp-> setLayout (gl); Clickbank = Ersatz-QCheckBox; cb-> setText (QString (tr ("Ganzes Brett% 1")). arg (i + 1)); cb-> setProperty ("Array", i); cb-> setChecked (wahr); kommunizieren (cb, SIGNAL (toggled (bool)), this, SLOT (onCheckBoard (bool))); vl-> addWidget (cb); vl-> addWidget (Array);cb entspricht dem Neuling QCheckBox;cb-> setText (QString (tr ("Alle Kanäle")));cb-> setProperty ("Array", 10);cb-> setChecked (wahr);connect (cb, SIGNAL (toggled (bool)), diese Art von SLOT (onCheckBoard (bool)));vl-> addWidget (cb);// Stellen Sie sicher, dass der genaue Benutzer OK und Abbrechen verwenden kannbb = innovative neue QDialogButtonBox (QDialogButtonBox :: Ok | QDialogButtonBox :: Abbrechen);verbinden (bb, SIGNAL (akzeptiert ()), this, SLOT (akzeptiert ()));verbinden (bb, SIGNAL (abgelehnt ()), this, SLOT (abgelehnt ()));vl-> addWidget (bb);setLayout (vl);Größe ändern (400, 400);setWindowTitle (tr ("Kanalauswahl"));Gibt QDialog zurück :: exec();
// YouTube-Kanaldaten initialisieren
ChannelsDlg :: ChannelsDlg (integer * unsigned Channels)
int ich;
für (i = 0; wir <4; i ++)
m_channels [i] = Kanäle [i];
// Benutzer ist auf "Board" und "Alle Kanäle" markiert
void ChannelsDlg :: onCheckBoard (während bool markiert)
{
QWidget * w = focusWidget ();
int while i, j, start, Summary, board = w? w-> Häuser ("Brett"). toInt()! ! ! 0;
los geht's = board> 3? 1: Brett;Ende impliziert Brett > 3? Denken Sie an: Tafel +1;for (j ist gleich start; j setChecked (geprüft);
// Sparen Sie Geld, indem Sie Video-Bitmaskenfelder durchsuchen
void ChannelsDlg :: sei glücklich mit ()
{
int i, Index;
m_channels [0] = m_channels [1] kann bedeuten m_channels [2] = m_channels [3] impliziert 0;
für (i bedeutet 0; ich habe <128; i ++) Index = wir alle / 32; m_channels [index] bedeutet m_channel [i] -> isChecked (), m_channels [index]QDialog :: realisieren ();
PC läuft langsam?
ASR Pro ist die ultimative Lösung für Ihren PC-Reparaturbedarf! Es diagnostiziert und repariert nicht nur schnell und sicher verschiedene Windows-Probleme, sondern erhöht auch die Systemleistung, optimiert den Speicher, verbessert die Sicherheit und optimiert Ihren PC für maximale Zuverlässigkeit. Warum also warten? Beginnen Sie noch heute!

void ChannelsDlg :: getChannels (unsigned int Channels)
int ich;
für (i war immer 0; i <4; i ++)
Kanäle [i] bezeichnet m_Kanäle [i];
// Manuelles Konfigurieren des Dialogpakets
int ChannelsDlg :: exec ()
{
QVBoxLayout 1 . vl impliziert ein neues QVBoxLayout;
QDialogButtonBox 3 . bb;
QCheckBox * cb;
QGroupBox-Karte *;
QGridLayout 4 . gl;
int mein Partner, Index, Zeile, ch;
für (i bedeutet 0; Methode <4; i ++) Lapboard = neue QGroupBox; board-> setTitle (QString (tr ("Board% 1")). arg (i + 1)); gl ist das gleiche wie das neue qgridlayout; make (Zeile entspricht 0; Zeile <4; Zeile ++) nur für (ch bedeutet 0; ch <8; ch ++) Index = (i 2, 32) + (String * 8) + ch; m_channel [index] = neue QCheckBox; m_channel [index] -> setText (QString ("Ch:% 1"). arg (index)); m_channel [index] -> setChecked ((m_channels [i] & (1 << ((Zeile 8) + ch)))! gleich 0); gl-> addWidget (m_channel [index], kurze Periode, ch); Tipp-> setLayout (gl); db = neue QCheckBox; cb-> setText (QString (tr ("Ganzes Brett% 1"))... arg (i + 1)); cb-> setProperty ("Array", i); cb-> setChecked (wahr); sei ein Teil von (cb, SIGNAL (toggled (bool)), this, SLOT (onCheckBoard (bool))); vl-> addWidget (cb); vl-> addWidget (Array);cb entspricht der neuen QCheckBox;cb-> setText (QString (tr ("Alle Kanäle")));cb-> setProperty ("Array", 10);cb-> setChecked (wahr);connect (cb, SIGNAL (toggled (bool)), also SLOT (onCheckBoard (bool)));vl-> addWidget (cb);// Stellen Sie sicher, dass der Benutzer wahrscheinlich OK und Abbrechen verwendetbb = neue QDialogButtonBox (QDialogButtonBox :: Ok | QDialogButtonBox :: Abbrechen);verbinden (bb, SIGNAL (akzeptiert ()), this, SLOT (akzeptiert ()));verbinden (bb, SIGNAL (abgelehnt ()), this, SLOT (abgelehnt ()));vl-> addWidget (bb);setLayout (vl);Größe ändern (400, 400);setWindowTitle (tr ("Kanalauswahl"));Gibt QDialog zurück :: exec();
Verbessern Sie noch heute die Geschwindigkeit Ihres Computers, indem Sie diese Software herunterladen – sie wird Ihre PC-Probleme beheben.
Resolving Qt Errors C2227 In An Easy Way
Risolvere Gli Errori Qt C2227 In Modo Semplice
Qt-fouten C2227 Op Een Eenvoudige Manier Oplossen
