0

C++: mit Templates zwei verschiedene Typen addieren

Im Folgenden geht es darum, zwei verschiedene Typen per Template zu addieren. Dazu wird der add-Operator (+) ueberladen. Rueckgabewert soll im hoeherwertigen Typ sein (z.B. int + double = double).
Verwendet man den neuen C++11-Standard, kann man das neue decltype verwenden. Hier als Beispiel um zwei Elemente unterschiedlichen Typs zu addieren.

template<typename A, typename B>
auto operator+(const MyList<A>& a, const MyList<B>& b)
-> MyList<decltype(a[0] + b[0])>
{
return MyList(a[0] + b[0], a[1] + b[1]);
}

Alternativ kann man jetzt beim return auch

return {a[0] + b[0], a[1] + b[1]}

schreiben.
(Vorausgesetzt wird, dass der Konstruktor vorhanden ist.)

0

Linux: C++11 kompilieren

Gerade versucht c++ im 11er Standard zu compilieren. Dazu einfach die Compiler-Flag -std=c++0x oder -std+c++11 setzen. Allerdings geht das Compiler-Flag -ansi nicht.

Grund: -ansi steht für -std=c++98 und das überschreibt natürlich
das -std=c++0x

g++ -std=c++0x -Wall minimal.cpp -o minimal

(-pedantic ist per default angeschaltet.)

0

Windows: Pidgin Theme ändern

Wenn man das Aussehen von Pidgin wechseln möchte, so kann man sich einfach ein GTK-Theme (z.B. hier) runterladen.

Dieses entpackt man nach C:\Programme\Pidgin\Gtk\share\themes.

Nun die Datei C:\Programme\Pidgin\Gtk\etc\gtk-2.0\gtkrc mit einem Texteditor öffnen und den Namen des Themes (des Ordners) in die Anführungsstriche einfügen.

Dann speichern und Pidgin neustarten. Jetzt hat Pidgin das neue Design.

0

Linux: Iceweasel kann nicht gestartet werden

Hallo,

wollte eben den Iceweasel starten, allerdings bekam ich folgende Fehlermeldung:

Iceweasel is already running, but is not responding. To open a new window, you must first close the existing Iceweasel process, or restart your system.

ps aux | grep iceweasel

zeigte auch einen Prozess an, dieser konnte allerdings nicht beendet werden, da er nicht gefunden werden kann.

Lösung ist:

~/.mozilla/firefox/YOURPROFILE/.parentlock

zu entfernen.