Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
neic777
0 / 0 / 0
Регистрация: 08.04.2013
Сообщений: 138
#1

Ошибка [BCC32 Error] E2453 Size of the type 'int[]' is unknown or zero - C++

28.04.2014, 12:16. Просмотров 910. Ответов 11
Метки нет (Все метки)

Функция:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int  multiplication(int double_matrix1[][],int double_matrix2[][], int m, int n) //тут ошибка
    {
        int i,j,k;
        int rezult_matrix[100][100];
 
        for (i = 0; i < m; i++) {
            for (j = 0; j < n; j++) {
                for(k = 0; k < n; k++)
                    rezult_matrix[i][k] += double_matrix1[j][i] * double_matrix2[i][j];
            }
        }
 
        return rezult_matrix[m][n];
    };
Использования функции:
C++
1
multiplication(wm.double_matrix[m][n], wm2.double_matrix[m][n], m, n);
Вот ошибка: [BCC32 Error] E2453 Size of the type 'int[]' is unknown or zero
Проблема в параметрах когда функция определяется, проблема с массивом.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.04.2014, 12:16     Ошибка [BCC32 Error] E2453 Size of the type 'int[]' is unknown or zero
Посмотрите здесь:
C++ Ошибка при компиляции "Size of the type 'char[]' is unknown or zero"
С++ ошибка error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C++
C++ [BCC32 Error] File1.cpp(74): E2285 Could not find a match for 'student1::student1(const char *,int,int)'
C++ Ошибка в коде программы. conversion from 'double' to 'int', possible loss of data, error C2018: unknown charact
C++ Выдаёт ошибку во второй сточке: [BCC32 Error] File1.cpp(40): E2089 Identifier 'addFirst' cannot have a type qualifier
Error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C++
Программа с использованием функций и ошибка [BCC32 Error] File1.c(2): E2293 ) expected C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
aLarman
641 / 562 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
28.04.2014, 12:24     Ошибка [BCC32 Error] E2453 Size of the type 'int[]' is unknown or zero #2
Цитата Сообщение от neic777 Посмотреть сообщение
C++
1
multiplication(int double_matrix1[][],int double_matrix2[][], int m, int n)
а так ?
C++
1
multiplication(int **double_matrix1,int **double_matrix2, int m, int n)
TenGen
Будущее рядом
97 / 95 / 20
Регистрация: 06.03.2014
Сообщений: 342
28.04.2014, 12:26     Ошибка [BCC32 Error] E2453 Size of the type 'int[]' is unknown or zero #3
neic777, насколько я помню, там надо int multiplication(int double_matrix1[100][100],int double_matrix2[100][100], int m, int n)
Вообще лучше передавать не массивы, а указатели на массив. И return у вас должен возвращать массив?
neic777
0 / 0 / 0
Регистрация: 08.04.2013
Сообщений: 138
28.04.2014, 12:29  [ТС]     Ошибка [BCC32 Error] E2453 Size of the type 'int[]' is unknown or zero #4
aLarman, TenGen, так тоже пробовал, но уже другие ошибки получються
aLarman
641 / 562 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
28.04.2014, 12:31     Ошибка [BCC32 Error] E2453 Size of the type 'int[]' is unknown or zero #5
neic777, какие
neic777
0 / 0 / 0
Регистрация: 08.04.2013
Сообщений: 138
28.04.2014, 12:34  [ТС]     Ошибка [BCC32 Error] E2453 Size of the type 'int[]' is unknown or zero #6
aLarman, при
C++
1
int double_matrix1[100][100],int double_matrix2[100][100]
Вылазит такое:
C++
1
wm.multiplication(wm.double_matrix[m][n], wm2.double_matrix[m][n], m, n); //тут ошибка
[BCC32 Error] E2034 Cannot convert 'int' to 'int ( *)[100]'
[BCC32 Error] E2342 Type mismatch in parameter 'double_matrix1' (wanted 'int ( *)[100]', got 'int')

При
C++
1
int  multiplication(int **double_matrix1[][],**int double_matrix2[][], int m, int n)
[BCC32 Error] E2453 Size of the type 'int * *[]' is unknown or zero
[BCC32 Error] E2293 ) expected
TenGen
Будущее рядом
97 / 95 / 20
Регистрация: 06.03.2014
Сообщений: 342
28.04.2014, 12:37     Ошибка [BCC32 Error] E2453 Size of the type 'int[]' is unknown or zero #7
neic777, вообще советуют массивы такого размера выделять в динамической памяти.
C++
1
2
3
4
5
6
7
8
9
10
int mult(int **a, int **b, int n, int m);
 
int main()
{
    int **array_a = new int*[n];
    for (int i = 0; i < n; i++)
        array_a[i] = new int[m];
    // Тут так же создаем и array_b
    mult(array_a, array_b, n, m);
}
Ilot
Модератор
Эксперт С++
1788 / 1163 / 226
Регистрация: 16.05.2013
Сообщений: 3,060
Записей в блоге: 5
Завершенные тесты: 1
28.04.2014, 12:46     Ошибка [BCC32 Error] E2453 Size of the type 'int[]' is unknown or zero #8
Проблема в том, что при передаче двумерного массива обязательно следует указывать размерего второго индекса:
C++
1
int  multiplication(int double_matrix1[][n],int double_matrix2[][n], int m, int n) //
Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,922
Записей в блоге: 1
28.04.2014, 12:50     Ошибка [BCC32 Error] E2453 Size of the type 'int[]' is unknown or zero #9
TenGen, вообще у него очевидно передается не массив в функцию! Посмотри на вызов:
Цитата Сообщение от neic777 Посмотреть сообщение
wm.multiplication(wm.double_matrix[m][n], wm2.double_matrix[m][n], m, n); //тут ошибка
wm.double_matrix[m][n] это вообще не массив, а переменная типа int
(но никак не int [][])
автор! элемента wm.double_matrix[m][n] не существует!

Добавлено через 2 минуты
пиши
C++
1
 wm.multiplication(wm.double_matrix, wm2.double_matrix, m, n);
ну и сделай так, чтоб функция принимала двойные указатели!
C++
1
int  multiplication(int **double_matrix1,int **double_matrix2, int m, int n)
KOPOJI
28.04.2014, 12:51
  #10

Не по теме:

Ilot, почему это обязательно? Если массив размещен в динамической памяти, то не обязательно, можно передать "указатель на указатель".. Как в примере TenGen

Ilot
28.04.2014, 12:56
  #11

Не по теме:

KOPOJI, вы неправильно поняли. Суть: если передавать в функцию двумерный массив, то размер его второй компоненты передавать обязательно. Про указатели я ни слова ни сказал. ТС пишет, что у него проблемы с объявлением. Бегло просмотрев тему я увидел, что ответа на свой вопрос ТС не получил. Вот я и ответил на его вопрос. Зачем мне обсуждать ответы остальных пользователей?
Kuzia domovenok, ответил на вторую половину вопроса. Больше тут говорить не о чем

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.04.2014, 15:11     Ошибка [BCC32 Error] E2453 Size of the type 'int[]' is unknown or zero
Еще ссылки по теме:
C++ ошибка [BCC32 Error] windowp.cpp(201): E2235 Member function must be called or its address taken
C++ Ошибка error: invalid types 'int[int]' for array subscript
Ошибка error C2440: инициализация: невозможно преобразовать 'int' в 'int []' C++
Ошибка "variable-size type declared outside of any function" C++
C++ Ошибка C4430: missing type specifier - int assumed

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
aLarman
641 / 562 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
28.04.2014, 15:11     Ошибка [BCC32 Error] E2453 Size of the type 'int[]' is unknown or zero #12
Цитата Сообщение от neic777 Посмотреть сообщение
При

C++
1
int multiplication(int **double_matrix1[][],**int double_matrix2[][], int m, int n)
а я разве в примере []скобки ставил ?)
Yandex
Объявления
28.04.2014, 15:11     Ошибка [BCC32 Error] E2453 Size of the type 'int[]' is unknown or zero
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru