LINUX.ORG.RU

Портация приложения c VS2k8 > g++


0

0

Тяжело идет портирование, точнее не идет совсем. Направьте на путь истинный. К примеру, один из затыков сейчас: [code] MergeCells<TCHAR> &mc = (std::vector<MergeCells<TCHAR> >::reference)_mergeCells[j]; [/code]

SImplTm.cpp:1123: ошибка: expected ‘,’ or ‘;’ before ‘_mergeCells’

И подобные им.

Что такого не понравилось g++?

ps. Естественно, это все удачно собирается в VS2008.

>Тяжело идет портирование, точнее не идет совсем
ну, на свете полно других дел))
все профессии нужны, все профессии важны. (с)

xydo ★★
()

А можно увидеть больше кода?

P.S. За TCHAR и названия, начинающиеся с подчёркивания, отдельный анреспект =).

Deleted
()
Ответ на: комментарий от Deleted

>названия, начинающиеся с подчёркивания, отдельный анреспект =).
А что в этом такого? Так часто называют параметры функций, если они могут перекликатся с какими-то другими переменными, например, полями классов.

ipc
()
Ответ на: комментарий от ipc

> А что в этом такого?

Начинающиеся с прочерка имена зарезервированы за компилятором и системными библиотеками. См, например, ISO/IEC 9899:TC2 7.1.3 Reserved identifiers

Manhunt ★★★★★
()
Ответ на: комментарий от Manhunt

>Начинающиеся с прочерка имена зарезервированы за компилятором и системными библиотеками.
Вроде бы и так, но компилятор C++ сам с этим не разберется?

ipc
()
Ответ на: комментарий от ipc

> Вроде бы и так

Следовательно, говнокод.

> но компилятор C++ сам с этим не разберется?


ЕМНИП, по стандарту - undefined behavior. Хотя настоящих ковбоев это не остановит, да.

Manhunt ★★★★★
()
Ответ на: комментарий от Manhunt

Странно что GCC даже с -pedantic не выводит warning по этому поводу.

$ g++ -pedantic -Wall -Wextra file.cpp

$ g++ -pedantic file.cpp

#include <cstdio>
#include <cstdlib>

struct RR {
    int _variable;
    void run(int _var);
};

void RR::run(int _var) {
    printf("%d\n",_var);
   _variable=10;
    printf("%d\n",_variable);
}

int main() {
    RR x;
    x._variable=1;
    x.run(11);
    return 0;
}

ipc
()
Ответ на: комментарий от ipc

N1124

No other identifiers are reserved. If the program declares or defines an identifier in a
context in which it is reserved (other than as allowed by 7.1.4), or defines a reserved
identifier as a macro name, the behavior is undefined.
ipc
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.