c++ Make Company - Judge assignment
Здравейте,
В началото, на тази задача получавах грешка за паметта на тестове от 6 до 10. Там си мисля, че успях да се справя и вече нямам грешка в паметта, ама сега получавам:
Test #6 (Runtime error)
Time used: 0.912 s
Memory used: 6.75 MB
на тестовете от 6 до 10. Тестове от 1 до 5, като и двата zero теста са ОК. Дали може някаква помощ защо се получава тази грешка?
Ами аз по принцип го бях направил със shared_ptr обаче това работи (при мен) само като е в main-a. Там си направих:
std::shared_ptr <Company> newCompany = ........
Тествах го и програмата си поема newCompany и си работи ОК. Обаче след като го сложа във файла MakeCompany.h пробвах какъв ли не синтаксис на return newCompany и не се получава. Четох и в нета и видях най-различен синтаксис на return-а, който пробвах, ама нищо не проработи. Та в този смисъл какъв е правилния синтаксис на този return?
Функцията ти трябва да връща същия тип като newCompany.
Или може да направиш така
using е същото като typedef, само че е по-секси
Супер. Много ти благодаря - проработи.
Ключовото беше, че функцията трябва да връща същия тип, а аз я бях дефинирал като *Company тип. Т.е. през цялото време съм се опитвах да върна *Company от shared ptr. Подведох се, че като бях дефинирал функцията като *Company и използвах new за динамичната памет всичко си работеше(връщаше *Company) - разбира се паметта гърмеше, ама работеше. Дефинирах си shared ptr вътре във функцията и изобщо се пипнах типа.