С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 11.12.2018
Сообщений: 32
1

Ошибка при передаче указателя на массив из класса

29.11.2019, 18:23. Показов 1609. Ответов 2

Author24 — интернет-сервис помощи студентам
Есть класс матриц, созданный через массивы и в нем метод, который должен возвращать указатель, для работы с матрицей.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Matrix
{
private:
    unsigned int n, m;
    double* a;
public:
...
    double* str()
    {
        double *ptr = a;
        return(ptr);
    }
}
 
int main() {
    double p[] = { 1,2,3,4 };
    Matrix A(p, 2, 2);//создается матрица из элементов p размерностью 2х2
    double* ptr = A.str; //на этой строке выдает ошибку
}
При вызове этого метода выдается ошибка ""Matrix::str": нестандартный синтаксис; используйте "&", чтобы создать указатель на член"
Почему я могу получить указатель например на p[] таким же образом, и ошибки не выдает?
C++
1
2
3
4
5
int main() {
    double p[] = { 1,2,3,4 };
    Matrix A(p, 2, 2);//создается матрица из элементов p размерностью 2х2
    double* ptr = p; //в таком случае ошибки нет и я могу перебирать массив
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.11.2019, 18:23
Ответы с готовыми решениями:

Где ошибка в передаче указателя на массив?
через указатель на массив хочу в массив записать значние -1 или +1. гдето ошибка в синтаксисе. ...

Ошибка при передаче указателя функции
Привет! В моем понимании приведенный ниже код должен дважды выводить одно и то же. Объясните мне,...

Ошибка при передаче в функцию указателя на структуру.
Всем привет! Пишу программку по структурам. При передаче указателя на структуру в функцию выбивает...

Ошибка при передаче в функцию указателя на элемент массива
#include "stdafx.h" #include <iostream> #include <ctime> #include <cstdlib> #include <cmath> ...

2
6770 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
29.11.2019, 18:30 2
Лучший ответ Сообщение было отмечено DioxiT как решение

Решение

Цитата Сообщение от DioxiT Посмотреть сообщение
При вызове этого метода выдается ошибка ""Matrix::str": нестандартный синтаксис; используйте "&", чтобы создать указатель на член"
Скобки не поставил, надо double* ptr = A.str();
1
0 / 0 / 0
Регистрация: 11.12.2018
Сообщений: 32
29.11.2019, 18:34  [ТС] 3
Ужас. Мне теперь стыдно, извиняюсь за то, что поторопился писать на форум))
Запутало очень описание ошибки
Спасибо за помощь!
0
29.11.2019, 18:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.11.2019, 18:34
Помогаю со студенческими работами здесь

Ошибка компиляции при передаче указателя на объект в вектор
Реализированная на строках 32-39 функция записывающая даннные в вектор не работает и еще при...

Ошибка Access violation при передаче указателя в функцию
выделяю память для нужд програмных и соханяю его. char *resadres =(char*) VirtualAlloc (0,...

При передачи указателя на обьект ошибка,а при передаче ссылки на указатель нет. Почему?
Hi All! class SomeObj { public: int x; }

Ошибка при передаче результата метода класса
Добрый день Есть сервер: using System; using System.Runtime.Serialization; using...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru