/ / Creat Liste der Liste in der Boost Python [Duplizieren] - Python, C ++, Boost-Python

Creat Liste der Liste in der Boost Python [Duplizieren] - Python, C ++, Boost-Python

Ich möchte eine Liste von Listen mit erstellen boost::python::list.

Ich habe diesen Code ausprobiert, aber anscheinend hat die Unterliste keine Append-Funktion!

boost::python::list array;
boost::python::list temp;


for (int i = 0; i < max; i++)
{
array.append(temp);
for (int j = 0; j < max; j++)
{
array[i].append(0); //error! array[i] does not have "append" member
}
}

Fehlermeldung:

error: ‘boost::python::api::object_item’ has no member named ‘append’
distArray[i].append(0);

Antworten:

1 für die Antwort № 1

Sie können direkt an temp anhängen.

boost::python::list array;
for (int i = 0; i < max; i++){
boost::python::list temp;
for (int j = 0; j < max; j++){
temp.append(0);
}
array.append(temp);
}

Da die Liste nichts enthalten kann, bekommst du einen zurückgenerisches Objekt, wenn Sie es als Array [i] wieder herausziehen. In C ++ müssen Sie den Typ kennen. Das Hinzufügen einer Typumwandlung reicht zwar aus, um den Compiler zu erfüllen, aber es wäre riskant, wenn noch etwas anderes hineingelangen könnte. Boost Python hat Konvertierungs-Check-Funktionen, wenn Sie später an der Liste arbeiten müssen.