werehuman
25.01.2012 16:59 Psi+
invalid conversion from `char*' to `char'
Как перевести из char*' to `char' одни ошибки никто не знает некого способа ?
Меня из-за этого вопроса на собеседовании послали(((((((((((
это наверна ахуеть как важно, что из-за этого собеседование провалил
что-то я не понял. 1 — указатель, второе — переменная. Единственный вариант &char* = char. Если я правильно понял вопрос.
ой лол
скажи как?
Если char * в смысле односимвольной строки, то
char * b = "a";
char a = *b; // = b[0];
Если char * в смысле числа внутри строки, то
char * c = "44";
char d = (char)atoi(c);
И да, как это относится к С++ ?
</fat-sarcasm>
либо можно &char + N
даже не думал, что ты так сильно меня ламером считаешь
если ты не ответил на такой вопрос, то. ...
http://hacker-pro.net/thread/31139/p1.ht...
У тебя сложно отличить сарказм от баттхерта, кхм.
я работаю над этим
какой-то сюр. это всё сраный сипипи, посоны нахуй так жить
Энивей, если действительно вопрос по плюсам, то велкам ту c_plus_plus@c.j.r
Да, там дедфудушка owner :)
у меня просто бугурт. Сейчас по памяти перечислю вопросы, на которых я завалился
Первый.
class A { A() {} }
class B : A { B() {} }
int main() { B x; }
Где компилятор сматерится: что приватный B::B или A::A?
Второй: я не знал, что можно перегрузить методы с одинаковыми аргументами, если один из них константный, а второй нет.
Третий: они меня вздрочнули на том, как внутри устроен итератор. Я думал, что он в конце указывает на конечный фиктивный элемент, а они сказали, что он просто указывает за пределы массива (хотя не было уточнения, вектор там или связный список).
Четвёртый: я не знал, что sizeof на массиве вернёт размер всего массива (кол-во * sizeof типа), а не размер указателя. По sizeof очень долго дрочили, запутали мне мозги так, что я даже сказал, что он возвращает размер в словах, а потом в байтах и так метался, а они троллили и троллили.
Это уже без сарказма.
скажи это кто-либо другой, и у меня был бы баттхёрт. Но на тебя иммунитет
а чем у них вообще контора занимается?
http://2gis.ru
>>Где компилятор сматерится: что приватный B::B или A::A?
Сматерится на A, если я не ошибаюсь. :)
>>Второй: я не знал, что можно перегрузить методы с одинаковыми аргументами, если один из них константный, а второй нет.
Жевалось много раз же.
>>Третий: они меня вздрочнули на том, как внутри устроен итератор. Я думал, что он в конце указывает на конечный фиктивный элемент, а они сказали, что он просто указывает за пределы массива (хотя не было уточнения, вектор там или связный список).
Это стандарт не определяет, вообще пусть нахуй идут. И читают IDL=2 в том же MSVS.
>>Четвёртый: я не знал, что sizeof на массиве вернёт размер всего массива (кол-во * sizeof типа), а не размер указателя. По sizeof очень долго дрочили, запутали мне мозги так, что я даже сказал, что он возвращает размер в словах, а потом в байтах и так метался, а они троллили и троллили.
Ну это фейл, да.
>>Сматерится на A, если я не ошибаюсь. :)
Они мне не ответили на этот вопрос. Дома проверил, gcc матерится на B.
>>Жевалось много раз же.
Мимо меня жевалось.
>>Это стандарт не определяет, вообще пусть нахуй идут. И читают IDL=2 в том же MSVS.
Это не мне говори. На самом деле вся эта дрочка пошла с того, что я не знал, как поведёт себя std::sort на char[].
Алсо да, меня в ужас бросает от стандарта. Его год читать придётся.
давай посмотрим, что выйдет
его и не надо читать
а нахуя он нужен тогда?
для компиляторов
видимо для того, чтобы я однажды для себя открыл, что { можно заменить на <%, и оно будет работать, но только это нафиг никому не нужно
тебе достаточно знать где его взять и где посмотреть
приблизительно
если это нужно для конпеляторов, то почему на него ссылаются люди?
а я серьёзно. Если его не читают, то почему ссылаются на него?
потому что это то — откуда инфа 146%. Если есть какой-то вопрос на низком уровне — то там скорее всего есть ответ. Из известных мне людей его нието, кажется, не читал. Только частями
а с чего ему на А материться, если он вызывает приватный конструктор B? На B и сматерится
просто я его не читал, а они на собеседовании прямо говорили — так написано в стандарте, а того-то нету
а разве A не вызывается при инициализации B?
могут пиздеть, а так как ты не читал — ты не можешь опровергнуть. Но все рвно ничего не поделаешь. Ищи работу по удаленке. Фрилансь. Поверь — не намного меньше денег
Вызывается. Но ты в первую очередь вызываешь приватный конструктор B — вот компилятор и ругнется сразу.
При определении B указано, что он наследуется от A. Там же неявно указано, что он будет вызывать дефолтный конструктор A, а он закрыт.
мне стабильность важнее денег, я готов зарабатывать в два раза меньше, но быть уверенным, что в следующем месяце не буду с голой жопой
ну, тогда надо было сразу сказать, что ты готов за копейки батрачить — они бы и без собеселования тебя взяли — кофе приносить
я сказал, что готов за 12 тыр в месяц работать 24 часа в неделю
именно
только прежде чем вызывать конструктор A он вызовет конструктор свой, который приватный.
ты какой-то фигней занимаешься. У тебя портфолио есть?
нет
мне даже нечего в него положить. Я ничего до конца не довёл
хреново тебе, че. Глупо. Хотя бы в каком опенсорсе поучаствовал. Да и вообще — кто требовался в эту контору?
программист C++ Unix требовался (и требуется, но не я). А в опенсорсе — пробовал я ваши личкрафты, не могу я пилить то, что мне не интересно (если за это не платят)
значит тут ты зафейлился по полной. Наличие моего имени в списке авторов проекта обеспечило меня толи 3, толи 4 большими заказами. Последнее время даже собеседования не проходил. Показывал личкрафты и пару листов кода моего — обычно хватало.
ШТО ?
Порядок вызовов конструкторов начинается с базовых классов.
бля, мой фейл. Но суть-то в другом. Ругнется же компилятор. А он ругнется на вызове приватного конструктора B. А дальше он просто не пойдет, если я правильно понимаю.
вот весь ваш диалог происходил у меня в голове в тот день
слушай, а где ещё, кроме личкрафтов, можно вложиться?
а я откуда знаю? Я нашел свое место =)
я бы тоже ответил серьёзно
что?
видимо, собеседование проводилось точно как на этом слайде (1:47) http://www.youtube.com/watch?feature=pla...
некоторое сходство есть
никуда не деться, питон рынку не нужен
ну, например, мое личное мнение заключается в том, что кресты рынку тем более не нужны. А node.js по крайней мере на данный момент активно развивается
похоже, твоё мнение основывается на количестве статей на хабре, а моё — на вакансиях от работодателей
мое мнение работает по принципу "хорошо там, где нас нет"
интересно, если бы ты отвечал на свои же комменты, как быстро ты бы сам себя затроллил?
а еще, если поиграть с виджетом в самом низу статьи http://dou.ua/lenta/articles/developers-... , видно, что питонщики в наших краях получают больше чем cpp
всё-таки хорошо у меня получается вести псто сразу от двух личностей
ШТОБЛЯТЬ?!
Разыменовать указатель или заебашить какой-нибудь reinterpret_cast, в зависимости от того, что хочется.
Это даже я знаю.
Поговорил с пастой, малаца :)
И да, какой смысл в преобразовании указателя (32 или 64 бита) к 8-битному числу, расскажи прохладную историю.
Ну я увидел буггурт опа по поводу завала на собеседовании. С ним и поговорил.
А тебе реально не хватает опыта программирования на ANSI C. Хотя такие переводы обычно делаются из void*, но и char* тоже ок.
походу, раптырь всё своё былое чсв полностью отдал тебе. Оно у тебя увеличилось аж на 10%.
> reinterpret_cast
> опыта программирования на ANSI C
В голос.
> Хотя такие переводы обычно делаются из void*, но и char* тоже ок.
Няша, я повторю свой вопрос, зачем может понадобиться при ведение типа указателя char * к char. Тут о void * вообще ни разу в треде не упоминалось (краткая справка).
Это типикал утрос, каким мы его знаем и не любим :)
А, вот ты о чём.
Нормальным программистам нахуй не нужно (за исключением случая с разыменованием указателя).