При использовании CoffeeScript я использую двойные кавычки. Я согласен, что вы должны выбрать один и придерживаться его. CoffeeScript дает вам интерполяцию при использовании двойных кавычек.
"This is my #{name}"
ES6 использует обратные тики (`) для строк шаблона. Вероятно, это имеет вескую причину, но при кодировании это может быть громоздким для изменения символа строковых литералов из кавычек или двойных кавычек для обратных тиков, чтобы получить функцию интерполяции. CoffeeScript может быть не идеальным, но использование одного и того же символа строковых литералов во всем мире (двойные кавычки) и всегда быть способным к интерполяции - хорошая функция.
`This is my ${name}`
MPI_Bcast(a, R*C, MPI_INT, 0, MPI_COMM_WORLD);
Это не трансляция 2D-массива. Это берет int**
, превращает его в void*
и вы сообщаете компилятору, что он содержит R*C
целых чисел. это не так. Он содержал адреса для подмассивов.
Вместо этого используйте одномерный массив в будущем рефакторинге. 1D доступ без косвенных указаний лучше.
Но чтобы исправить вашу проблему сейчас:
MPI_Bcast(a[0], R*C, MPI_INT, 0, MPI_COMM_WORLD);