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

Error C2664: невозможно преобразовать параметр - C++

Восстановить пароль Регистрация
 
Константин174
0 / 0 / 0
Регистрация: 11.12.2009
Сообщений: 11
28.03.2011, 10:56     Error C2664: невозможно преобразовать параметр #1
Модуль с реализацией:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include "stdafx.h"
#include "algoritm.h"
#include "stdlib.h"
#include <ctime>
 
void mine(int a[18][30], int n,int m,int p)
{ int xi,yj,i=0;
  for (i=0; i<p;i++){
      srand(time(NULL));
      xi=rand()%n;
      srand(time(NULL));
      yj=rand()%m;
      if (a[xi][yj]!=10)
          a[xi][yj]=10;
  }
  return;}
 
 
void num(int a[18][30], int n,int m)
{ int i,j,k;
    for (i=0;i<n;i++){
        for (j=0;j<m;j++){
            if (a[i][j]!=10){
              if (a[i-1][j-1]=10)
                  k+=1;
              if (a[i-1][j]=10)
                  k+=1;
              if (a[i-1][j+1]=10)
                  k+=1;
              if (a[i][j-1]=10)
                  k+=1;
              if (a[i][j+1]=10)
                  k+=1;
              if (a[i+1][j-1]=10)
                  k+=1;
              if (a[i+1][j]=10)
                  k+=1;
              if (a[i+1][j+1]=10)
                  k+=1;
              a[i][j]=k;}
        }
    }
    return;}

Часть вызова:

C++
1
2
3
4
5
6
7
private: System::Void рядовойToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {
         extern int a[9][9]; extern int n,m,p; 
 
         n=9; m=9; p=10;
         mine(a,n,m,p);
         num(a,n,m);
         }

Ошибки:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1>------ Построение начато: проект: 0, Конфигурация: Debug Win32 ------
1>  0.cpp
1>f:\antichrist\семестровая\0\0\Form1.h(1005): error C2664: mine: невозможно преобразовать параметр 1 из "int [9][9]" в "int [][30]"
1>          Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
1>f:\antichrist\семестровая\0\0\Form1.h(1006): error C2664: num: невозможно преобразовать параметр 1 из "int [9][9]" в "int [][30]"
1>          Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
1>f:\antichrist\семестровая\0\0\Form1.h(1023): error C2664: mine: невозможно преобразовать параметр 1 из "int [18][18]" в "int [][30]"
1>          Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
1>f:\antichrist\семестровая\0\0\Form1.h(1024): error C2664: num: невозможно преобразовать параметр 1 из "int [18][18]" в "int [][30]"
1>          Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
1>  algoritm.cpp
1>algoritm.cpp(9): warning C4244: аргумент: преобразование "time_t" в "unsigned int", возможна потеря данных
1>algoritm.cpp(11): warning C4244: аргумент: преобразование "time_t" в "unsigned int", возможна потеря данных
1>  Создание кода...
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

Пробовал делать функции с указателями на массив, проблема остается.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.03.2011, 10:56     Error C2664: невозможно преобразовать параметр
Посмотрите здесь:

C++ error C2664:невозможно преобразовать параметр
C++ error C2664: InputMatrixCurrent: невозможно преобразовать параметр 1 из 'int [5][5]' в 'int'
error C2664:невозможно преобразовать параметр C++
error C2664: Display: невозможно преобразовать параметр 1 из 'int [5]' в 'int" C++
C++ error C2664: невозможно преобразовать параметр
C++ error C2664: itoa: невозможно преобразовать параметр 1 из 'int *' в 'int' + запись в файл
error C2664: CWnd::MessageBoxW: невозможно преобразовать параметр 2 из "long" в "LPCTSTR" C++
C++ Error C2664: RegisterClassW: невозможно преобразовать параметр 1 из "WNDCLASSEX *" в "const WNDCLASSW *"

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 11:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru