Warum kann ich keine Referenz auf ein gepacktes Feld zurückgeben?

8

Ich verwende g ++, um Code mit gepackten Feldern zu kompilieren. Ich erhalte jedoch einen Fehler, wenn ich versuche, einen Verweis auf ein gepacktes Feld zurückzugeben.

Beispiel:

%Vor%

ergibt einen Fehler:

%Vor%

Warum kann ich keine Referenz auf ein gepacktes Feld zurückgeben?

    
gexicide 15.12.2014, 19:17
quelle

1 Antwort

2

Es gibt einen gcc-Fehlerbericht Das gepackte Feld kann nicht gebunden werden , das deckt dies ab und es heißt:

  

Die C ++ - Spezifikation (C ++ 03, Abschn. 3.9, 3.9.1, 3.9.2) ist sehr klar, dass T und "Zeiger auf T" implementierungsspezifische Ausrichtungsanforderungen haben. Wenn Sie einen "Zeiger auf T" haben, können Sie davon ausgehen, dass es die Ausrichtungsanforderungen erfüllt. Ich bin sicher, dass die C-Spezifikation eine ähnliche Sprache hat.

     

Im folgenden Fall könnte der folgende Code die Ausrichtungsanforderungen verletzen

Sie schlagen eine Problemumgehung mit dem alignment -Attribut vor, um Ihren eigenen ausgerichteten Typ zu definieren, aber es sieht nicht so aus, als ob es funktioniert.

    
Shafik Yaghmour 15.12.2014 19:21
quelle

Tags und Links

yii\base\ErrorException
Copied! Copy Stacktrace Search Stackoverflow Search Google Error

PHP Core Warningyii\base\ErrorException

PHP Startup: Unable to load dynamic library 'mongodb.so' (tried: /usr/lib64/php/modules/mongodb.so (/usr/lib64/php/modules/mongodb.so: cannot open shared object file: No such file or directory), /usr/lib64/php/modules/mongodb.so.so (/usr/lib64/php/modules/mongodb.so.so: cannot open shared object file: No such file or directory))

$_GET = [
    'id' => '397653',
    'url' => 'why-cant-i-return-a-reference-to-a-packed-field',
];

$_SESSION = [
    '__flash' => [],
];