EDIT:If Вам нужен доступ только к последней ошибке, и Вы не работаете в многопоточной среде.
можно возвратиться только истинный/ложный (или некоторый #define, если Вы работаете в C и не поддерживаете bool переменные), и имейте глобальный Ошибочный буфер, который будет содержать последнюю ошибку:
int getObjectSize(MYAPIHandle h, int* returnedSize);
MYAPI_ERROR LastError;
MYAPI_ERROR* getLastError() {return LastError;};
#define FUNC_SUCCESS 1
#define FUNC_FAIL 0
if(getObjectSize(h, &size) != FUNC_SUCCESS ) {
MYAPI_ERROR* error = getLastError();
// error handling
}
Вы не используете функциональность Array
- просто Функциональность объекта
. В JavaScript Object
является ассоциативным массивом - вы используете Array
для массивов, индексированных целыми числами. Если вы сделали
var firstArray = new Array();
firstArray.push("sam");
firstArray.push("kam");
var secArray = new Array();
secArray.push("sam");
secArray.push("kam");
var res = firstArray.concat(secArray);
, то concat
будет работать должным образом.
Если вы действительно хотите объединить ассоциативные массивы, выполните:
Попробуйте это,
var firstArray = new Array("sam","kam");
var secArray = new Array("sam","kam");
var res = firstArray.concat(secArray);
В JavaScript нет ассоциативных массивов, у него есть хэши объектов. Вы создаете массив и присваиваете значения некоторым из его свойств, а не самому массиву.
Ваше объединение не будет работать, потому что значения являются свойствами объекта. Чтобы выполнить конкатенацию таким образом, как у вас есть, вам нужно объединить два объекта. YUI, jQuery и другие фреймворки JavaScript предоставляют полезные методы для этого.
Строго говоря, это вовсе не ассоциативные массивы: это массивы нулевой длины с дополнительными именованными свойствами. Назначение этих свойств работает, потому что массивы также являются объектами в JavaScript; но это не делает их ассоциативным массивом. Их лучше рассматривать как хэши.
Методы массивов, такие как concat
, будут работать только с числовыми индексами элементов массивов, а не со свойствами объектов - даже если эти объекты являются массивами .
Массивы в JavaScript имеют только цифровые ключи. Только объекты могут иметь нечисловые свойства. Так что попробуйте вместо этого:
var firstArray = {};
firstArray.c1 = "sam";
firstArray.c2 = "kam";
var secArray = {};
secArray.c3 = "sam";
secArray.c4 = "kam";
for (var prop in secArray) {
if (secArray.hasOwnProperty(prop)) {
firstArray[prop] = secArray[prop];
}
}