Size: a a a

2021 February 27

AG

Alex Green 𓆏 in supapro.cxx
Dmitriy
А почему должны быть включены в debug сборке?
Логично
источник

Е

Егор in supapro.cxx
https://godbolt.org/z/nKnadP
а работает так же

————
а не, всё же норм
источник

В

Виктор in supapro.cxx
Мне нужно в одной функции сделать массив, вернуть его, и сразу же, без создания доп.объектов, передать результат работы функции в другую функцию. И там его потом уничтожить.

string& fillArr()
{
string* arr = new string[3];
return *arr;
}

void showArr (string *&arr) {
delete[] arr;
arr=nullptr;
};

main()
{
showArr ( fillArr () )
}

Скажите, пожалуйста, где ошибка? Ругается что невозможно преобразовать string в string &*
источник

DK

David Kravets in supapro.cxx
Виктор
Мне нужно в одной функции сделать массив, вернуть его, и сразу же, без создания доп.объектов, передать результат работы функции в другую функцию. И там его потом уничтожить.

string& fillArr()
{
string* arr = new string[3];
return *arr;
}

void showArr (string *&arr) {
delete[] arr;
arr=nullptr;
};

main()
{
showArr ( fillArr () )
}

Скажите, пожалуйста, где ошибка? Ругается что невозможно преобразовать string в string &*
Тебе вообще то уже ответили
источник

AS

Anatoly Shirokov in supapro.cxx
Виктор
Мне нужно в одной функции сделать массив, вернуть его, и сразу же, без создания доп.объектов, передать результат работы функции в другую функцию. И там его потом уничтожить.

string& fillArr()
{
string* arr = new string[3];
return *arr;
}

void showArr (string *&arr) {
delete[] arr;
arr=nullptr;
};

main()
{
showArr ( fillArr () )
}

Скажите, пожалуйста, где ошибка? Ругается что невозможно преобразовать string в string &*
Я против бездумного кодирования на C++.
источник

AS

Anatoly Shirokov in supapro.cxx
fillArr - это ахтунг. Ты сам понял, что написал?
источник

ДП

Дмитрий Петров... in supapro.cxx
Всем привет. Подскажите пожалуйста, в чем может быть проблема. В классе описал дружественную шаблонную функцию, реализовал ее в другом хедере. Компилятор выдал, что не может выбрать, что использовать: функцию, описанную в классе, или ее "перегруженную реализацию"(все аргументы одинаковы). К тому же рядом лежит две аналогичные функции, с которыми в такой реализации проблем нет. Да и кроме того, я подкоючаю в файле реализации хедер, IDE его видит и подсказывает при вводе, а во время компиляции этот файл ведет себя очень странно и лезет ошибка, что инклуженного хедера не существует(опять же я подключаю этот хедер во многих других файлов и проблем нет). Минимальный пример не представляю как тут накатать, могу только гит кинуть(
источник

C

Chuvi in supapro.cxx
Виктор
Мне нужно в одной функции сделать массив, вернуть его, и сразу же, без создания доп.объектов, передать результат работы функции в другую функцию. И там его потом уничтожить.

string& fillArr()
{
string* arr = new string[3];
return *arr;
}

void showArr (string *&arr) {
delete[] arr;
arr=nullptr;
};

main()
{
showArr ( fillArr () )
}

Скажите, пожалуйста, где ошибка? Ругается что невозможно преобразовать string в string &*
Почему у вас функция, которая называется "показать массив" его удаляет, ничего не показав?
источник

DK

David Kravets in supapro.cxx
Anatoly Shirokov
fillArr - это ахтунг. Ты сам понял, что написал?
А если нужно что бы string выжил после выхода из функции ?
источник

В

Виктор in supapro.cxx
Anatoly Shirokov
fillArr - это ахтунг. Ты сам понял, что написал?
Я не знаю что именно вы имеете ввиду. Код, приведён схематично, отражает только те части, которые связаны с ошибкой. Код в программе делает совсем другие вещи
источник

C

Chuvi in supapro.cxx
Виктор
Мне нужно в одной функции сделать массив, вернуть его, и сразу же, без создания доп.объектов, передать результат работы функции в другую функцию. И там его потом уничтожить.

string& fillArr()
{
string* arr = new string[3];
return *arr;
}

void showArr (string *&arr) {
delete[] arr;
arr=nullptr;
};

main()
{
showArr ( fillArr () )
}

Скажите, пожалуйста, где ошибка? Ругается что невозможно преобразовать string в string &*
string *&arr

Это что? Это как? Указатель на ссылку?
источник

LA

Liber Azerate in supapro.cxx
David Kravets
А если нужно что бы string выжил после выхода из функции ?
Какой ещё нужно чтобы выжил? Берёшь и отдаёшь указатель. Но здесь всё равно написан полный бред, выдающий, что человек не понимает, что пишет
источник

AS

Anatoly Shirokov in supapro.cxx
Виктор
Я не знаю что именно вы имеете ввиду. Код, приведён схематично, отражает только те части, которые связаны с ошибкой. Код в программе делает совсем другие вещи
Ты выделил память под массив из трех стрингов в хипе и вернул ссылку на первый элемент.
источник

В

Виктор in supapro.cxx
Chuvi
Почему у вас функция, которая называется "показать массив" его удаляет, ничего не показав?
в программе этой функции нет. вместо неё sendSqlCorpuscule() с более сложными аргументами и механикой. Здесь я её написал только для иллюстрации, чтобы не засорять лишним кодом
источник

LA

Liber Azerate in supapro.cxx
Виктор
в программе этой функции нет. вместо неё sendSqlCorpuscule() с более сложными аргументами и механикой. Здесь я её написал только для иллюстрации, чтобы не засорять лишним кодом
Как ты вообще пишешь что-то для роботы с SQL, если ты не понимаешь базовых вещей?
источник

В

Виктор in supapro.cxx
Anatoly Shirokov
Ты выделил память под массив из трех стрингов в хипе и вернул ссылку на первый элемент.
да, я именно это и планировал сделать. В массиве всегда жёстко 3 объекта.
источник

DK

David Kravets in supapro.cxx
Liber Azerate
Какой ещё нужно чтобы выжил? Берёшь и отдаёшь указатель. Но здесь всё равно написан полный бред, выдающий, что человек не понимает, что пишет
Я на return внимание не обратил
источник

AS

Anatoly Shirokov in supapro.cxx
Виктор
да, я именно это и планировал сделать. В массиве всегда жёстко 3 объекта.
Тогда нах ты ссылку вернул, а не указатель?
источник

В

Виктор in supapro.cxx
Liber Azerate
Как ты вообще пишешь что-то для роботы с SQL, если ты не понимаешь базовых вещей?
с горем пополам
источник

LA

Liber Azerate in supapro.cxx
Виктор
с горем пополам
Ну вот начал бы с основ, что ли...
источник