Articles of g ++

Onde está a extensão VLA do g ++?

Minha pergunta está relacionada a este tópico. Aqui está o código #include int main(int argc, char *argv[printf(“Hello, world!\n”)]) {} Eu salvei-o acidentalmente como um arquivo *.cpp e tentei compilá-lo com g++ . Mas eu recebi um erro e um aviso. error: expected ‘,’ or ‘…’ before ‘argv’ warning: second argument of ‘int main(int, char*)’ should […]

g ++ pára em referência indefinida ao usar -O0

Eu quero depurar um programa que escrevi. Por isso eu gostaria de vinculá-lo usando “-g -O0”. Quando eu compilo (usando o autotools Makefile) usando make CXXFLAGS = ‘- g -O0’ Eu recebo alguns erros: libtool: link: g ++ -O2 -g -O0 -I / opt / adolc-2.2.1 / include -o oc_poly oc_poly-oc_poly.o oc_poly-oc_p2p.o -L / opt […]

A precisão dupla longa real não está de acordo com std :: numeric_limits

Trabalhando no Mac OS X 10.6.2, Intel, com o i686-apple-darwin10-g ++ – 4.2.1, e compilando com o flag -arch x86_64, eu notei que … std::numeric_limits::max_exponent10 = 4932 … como é esperado, quando um double longo é realmente configurado para um valor com expoente maior que 308, ele se torna inf – isto é, na realidade […]

declaração antecipada de class usando modelos

Posso usar a declaração de encaminhamento para a class de modelo? Eu tento: template class que; int main(){ que mydeque; return 0; } template class que {}; Eu recebo: error: aggregate ‘que mydeque’ has incomplete type and cannot be defined.

O G ++ 4.6.3 de 64 bits não trata longs long longs em modelos de function especializados, mesmo que sejam do mesmo tamanho. Isso é um inseto?

Considere o seguinte código: #include #include template void f(); template inline void f() { std::cout<<"f()”<<std::endl; } int main(int , char** ) { std::cout<<"sizeof(long)="<<sizeof(long)<<std::endl; std::cout<<"sizeof(long long)="<<sizeof(long long)<<std::endl; f(); return 0; } O G ++ 4.6.3 de 32 bits compila isso com sucesso e produz a saída: sizeof(long)=4 sizeof(long long)=8 f() Compilar sob o G ++ 4.6 […]

Algoritmos de biblioteca padrão são permitidos para copiar argumentos de predicado?

Suponha que gostaríamos de remover valores duplicados de um vetor de int s. A solução usual é classificar o vetor e apagar duplicatas com o idioma apagar-remover. Mas precisamos manter a ordem dos elementos que não serão removidos, então não podemos classificar. Então, pode-se chegar a um predicado como este e usar com o algoritmo […]

Sobrecarregando o operador% para tipos flutuantes

Estou tentando sobrecarregar o operador% porque você não pode usar o módulo em tipos duplos, float a = 5.0; float b = 5.0; a = a % b; // not allowed Eu estava tentando sobrecarregar o operador% com esse tipo de function: template MyClass* MyClass::operator%(Myclass &other) Para outra operação não envolvendo float eu uso: template […]

Por que isso compila em C, mas não em C ++ (sigaction)?

Eu recebo os seguintes erros ao tentar compilar o código abaixo usando g + +. Quando eu compilo com o gcc ele funciona bem (além de alguns avisos). Qualquer ajuda apreciada. g++ ush7.cpp ush7.cpp: In function ‘int signalsetup(sigaction*, sigset_t*, void (*)(int))’: ush7.cpp:93: error: expected unqualified-id before ‘catch’ ush7.cpp:95: error: expected primary-expression before ‘catch’ ush7.cpp:95: error: […]

Como paralelizar o loop nested para encontrar o ponto dois mais próximo no OpenMP?

Esta questão não é uma duplicata da fusão de loops nesteds. O OP quer fazer uma redução de um valor máximo e ao mesmo tempo armazenar dois índices. A fusão dos loops não corrigirá o problema dos OPs. O OP ainda teria condições de corrida nos índices compartilhados e estaria acessando o valor reduzido que […]

Instalação de tatu

Oi eu instalei Armadillo3.0.1 no meu próprio diretório de trabalho /home/me/package/armadillo3.0.1/ como o README.txt disse. Mas quando eu tento um exemplo: g ++ -I /home/me/package/armadillo3.0.1/usr/include/ example.cpp -o example -O1 Sempre mostra o erro: /tmp/ccZAE9pj.o: Na function void arma::gemm::apply_blas_type(arma::Mat&, arma::Mat const&, arma::Mat const&, double, double)’: example.cpp:(.text._ZN4arma4gemmILb0ELb0ELb0ELb0EE15apply_blas_typeIdEEvRNS_3MatIT_EERKS5_S8_S4_S4_[void arma::gemm::apply_blas_type(arma::Mat&, arma::Mat const&, arma::Mat const&, double, double)]+0x75e): undefined reference to […]