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

invalid operands of types ‘double*’ and ‘double’ to binary ‘operator*’ - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.85
kolorimage
6 / 6 / 0
Регистрация: 16.09.2010
Сообщений: 86
02.05.2011, 13:26     invalid operands of types ‘double*’ and ‘double’ to binary ‘operator*’ #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
#include "mpi.h"
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define count 120
int main(int argc,char *argv[])
{
int i, j, size, rank, procname, res;
double a[count][count], send_af[count], b[count], result=0;
char processor_name[MPI_MAX_PROCESSOR_NAME];
MPI_Status status;
MPI_Init(&argc, &argv);
MPI_Comm_size(MPI_COMM_WORLD,&size);
MPI_Comm_rank(MPI_COMM_WORLD,&rank);
MPI_Get_processor_name(processor_name, &procname);
 
/*Generate*/
if(rank == 0){
    for(i=0; i<count; i++){
        b[i]=cos(i);
        for(j=0; j<count; j++){
            a[i][j]=sin(i+j);//printf("%f \n",a[i][j]);
        }
    }
}
int send_count=count*count/size;
double** send_a = new double*[send_count];
MPI_Scatter(a, send_count, MPI_DOUBLE, send_a, send_count, MPI_DOUBLE, 0, MPI_COMM_WORLD);
MPI_Bcast(b, count, MPI_DOUBLE, 0, MPI_COMM_WORLD);
for(i=0; i<=(send_count/count)-1; i++){
    result=0;
for(j=0; j<=count; j++){
    res=i*count+j;
    result+=send_a[res]*b[j];
}
printf("process= %i, result=%f /n", rank, result);
}
//for(i=0; i<=count; i++){printf("proc= %i, b[%i]=%f \n",rank, i, b[i]);}
 MPI_Finalize();
 return 0;
}

XML
1
2
3
4
5
/mpi/laba8_nomy/main.cpp||In function ‘int main(int, char**)’:|
/mpi/laba8_nomy/main.cpp|34|error: invalid operands of types ‘double*’ and ‘double’ to binary ‘operator*’|
/mpi/laba8_nomy/main.cpp|9|warning: unused variable ‘send_af’|
/mpi/laba8_nomy/main.cpp|11|warning: unused variable ‘status’|
||=== Build finished: 1 errors, 2 warnings ===|
Ругается на эту строчку result+=send_a[res]*b[j];
Моего мозга не хватает что бы понять в чем проблема..
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.05.2011, 13:26     invalid operands of types ‘double*’ and ‘double’ to binary ‘operator*’
Посмотрите здесь:

C++ Сравнение long double (Invalid floating...)
Какая-нибудь реализация функции void Fun (double in, double *out) C++
invalid types ‘Room [26][26][26][double]’ for array subscript. Помогите разобраться пожалуйста. C++
invalid operands of types 'double' and 'int' to binary 'operator%' C++
C++ long double и double в MSVC 12 одно и тоже, нужна информация,желательно быстрей
C++ error: invalid operands of types 'const int*' and 'const int*' to binary 'operator+'
C++ Вывести long double число без перевода в double
Бинарный поиск, ошибка: "Invalid operands to binary expression" C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
02.05.2011, 13:28     invalid operands of types ‘double*’ and ‘double’ to binary ‘operator*’ #2
kolorimage, b - массив.
a_res - массив указателей.
Все еще не понятно?
Yandex
Объявления
02.05.2011, 13:28     invalid operands of types ‘double*’ and ‘double’ to binary ‘operator*’
Ответ Создать тему
Опции темы

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