Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

SimeonAngelov avatar SimeonAngelov 5 Точки

[Technical Issue] C++ - Ползване на променливи от една функция в друга

Понеже съм доста зелен в C++, особено пък в ООП-то му, а ми трябва да използвам няколко променливи, инициализирани във main функцията, в друга функция, затова ги подадох като параметри, но ми изкарва грешка, която не ми е особено ясно от какво точно е породена. Грешката възниква при извикване на функцията ( не съм убеден също така и дали съм подал параметрите, особено масива по подходящ начин) Ето я и грешката: ...\main.cpp|44|error: cannot convert 'std::string (*)[(((sizetype)(((ssizetype)m) + -1)) + 1)] {aka std::basic_string<char> (*)[(((sizetype)(((ssizetype)m) + -1)) + 1)]}' to 'std::string (*)[100] {aka std::basic_string<char> (*)[100]}' for argument '4' to 'bool compareStrings(std::string, int, int, std::string (*)[100])'|.

Mod Edit: Нарушена точка 12 от Правилата на форума: Във всеки пост е позволено цитирането на не повече от 15 реда код. Ако искате да споделите по-дълъг код, използвайте сайтове като Pastebin и Github Gist).

Тагове:
0
Общи приказки 12/01/2015 00:27:04
TeodorTodorov avatar TeodorTodorov 27 Точки

Подаваш ли го като пойнтер към паметта?

ModEdit: Писането на кирилица е задължително.

0
08/01/2015 14:06:20
RoYaL avatar RoYaL Trainer 6849 Точки

Много не съм запознат със спецификите на езика, амаааа:

string arr[100][100]

The hell? Това въобще възможно ли е, да evaluate-неш масива по време на парсване на аргументите? Дори и да е възможно ми се струва като някакъв особен вид хак, при положение че ти на функцията подаваш целия масив arr.

Направи функцията да приема просто стрингов масив, а не определена част от него.

0
SimeonAngelov avatar SimeonAngelov 5 Точки

Задължително се подават всички размерности на многомерен масив ако го подаваш като параметър с изключение на 1та, затова съм му подал размерностите, което предполагам е и грешката, понеже после го инициализирам с други стойности.  Та затова и питам как точно трябва да стане (предполагам чрез указатели, с които не съм много добре запознат).

0
Samuil.Petrow avatar Samuil.Petrow 1550 Точки

След намесата на колегата, кодът ти е бил затрит и не си го качил допълнително никъде, за да го видим, така че не мога да ти помогна за текущия случай, но ако не се лъжа искаш да подадеш двумерен масив на функция. Както сам се сети - трябва да използваш указатели, с които ако не си запознат и искаш да се занимаваш със C++ - е задължително да се запознаеш.

Препоръката ми е да ползваш google преди да търсиш помощ, щеше да ти спести време, енергия и ресурси - цък.

-1
SimeonAngelov avatar SimeonAngelov 5 Точки

Не го качих никъде, понеже оправих проблема. Предполагам всички или поне повечето тук са с ясната представа, че преди да питат нещо, първо трябва да го потърсят в google. Въпроса беше, че поинтърите са като цяло по-обширна тема, с която било то дори по-бегло не можеш да се запознаеш за час-два (времето с което разполагах да оправя задачата). Не че не попаднах на решения на проблема (включително и постнатото от теб) , но както вече казах без някои познания нямаше как да ги ползвам и затова реших да питам тук, понеже отговара на проблема беше 1 изречение и нямаше затрудни някого с що-годе добри познания по темата, а моето време беше малко ограничено. Благодаря все пак за отделеното време.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.