Forum Programmation.c++ error: expected identifier before ‘&’ token

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
1
3
juil.
2021

Salutations !
Je (re)débute en C++, j'essaye un peu des trucs, et je suis tombé sur une erreur que je comprends pas trop…

le code suivant

class A {

};

class B {
    B(A* a) {

    }
};

class C {
    A a;
    B b(&a);
};

me retourne à la compilation

$ gcc test.cpp 
test.cpp:13:9: error: expected identifier before ‘&’ token
   13 |     B b(&a);
      |         ^

et je comprends pas (…)

Forum Programmation.c++ Client udp qui écoute plusieurs ports en utilisant boost

Posté par  (site Web personnel) . Licence CC By‑SA.
Étiquettes : aucune
0
8
juin
2021

Bonjour à tous,

ça fait un petit moment que je galère et je n'arrive pas à m'en sortir. Je dois
écrire un client qui reçoit des données en udp. La connexion se fait en point à
point. Mon pc à une certaine IP qui permet au serveur de me reconnaître. Les
données sont envoyées sur 5 ports différents
- 50000/54000 début/fin de daq
- 51000/53000 début/fin de tranche
- 52000 données utiles du système

J'ai besoin de récupérer toutes les (…)

Forum Programmation.c++ Petite question de c++ pour égayer votre vendredi

Posté par  . Licence CC By‑SA.
Étiquettes :
2
28
mai
2021

Bonjour,
je suis en train de coder une toute petite librairie et je bute sur un petit problème.
voici le code actuel (simplifié):

template <typename A, typename B>
class Function {
public:
    Function() {
        register_inputs();
    }

    Input<A> in0;
    Input<B> in1;
    void register_inputs() {
        inputs.insert(&in0);
        inputs.insert(&in1);
    }

private:
    std::unordered_set<InputBase
(…)

Forum Programmation.c++ Comment synchroniser environnement de développement entre machines ?

Posté par  . Licence CC By‑SA.
Étiquettes :
2
2
mar.
2021

Bonjour,

Dans ma boîte, on développe différents logiciels pour de l'embarqué qui sont compilés sur différentes machines (station de travail, environnement d'intégration continue etc).
Entre les bouts de code en C/C++, python, JS, etc, la gestion des librairies commence à se compliquer et comme tout est fait à la main pour synchroniser les environnement de développement, c'est un peu pénible à court terme et je pense très hasardeux à long terme.

On a également plusieurs projets en parallèle, donc le (…)

Forum Programmation.c++ try catch et sigsegv

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
8
fév.
2021

Bonjour à tous,

voila je m'interroge sur le fonctionne du try catch. Est ce que ca utilise l' appelle systeme sigaction qui permet d'attraper un signal. Si le signal et SIGSEGV alors on saute dans une méthode handler. Puis on retourne à l'instruction suivant apres le try..catch ? Le compilateur C++ gere donc l'implémentation automatique du handler pour attraper le signal sigsegv ?

autre question :
J'ai souvent vu dans certain code assez bien fait (comme Qt) le systeme de (…)

Forum Programmation.c++ Création de procédures en texte simple

Posté par  (site Web personnel) . Licence CC By‑SA.
2
2
nov.
2020

Bonjour à tous,
je suis en train d'écrire un petit logiciel qui sert à piloter et à configurer des circuits intégrés. Ces circuits intégrés sont ce qu'on appelle des ASICs, c'est à dire qu'ils ont été spécifiquement conçus pour l'expérience pour laquelle je travaille. Ce ne sont donc pas des composants "standards", mais ça n'est pas vraiment important.

Avec ce petit logiciel nous sommes capables, entre autre chose de stocker une valeur dans un registre de configuration, relire cette valeur (…)

Forum Programmation.c++ ESP32 : envoyer du son vers un haut-parleur bluetooth

Posté par  . Licence CC By‑SA.
Étiquettes :
4
11
juin
2020

Bonjour,
je cherche à envoyer du son (PCM, peu importe le format) depuis un ESP32 vers un haut-parleur bluetooth. Dans l'idéal ça fonctionnerait avec le framework arduino sous platformio :)
J'ai fouillé pas mal de trucs, j'ai essayé des exemples en allant voir dans les headers car certains trucs ne correspondaient pas à la doc officielle (pas la même version sans doute), etc.
Là j'ai un truc qui compile avec arduino, mais la fonction esp_bt_controller_init me retourne un code d'erreur (…)

Forum Programmation.c++ Bizarrerie opérateur ternaire (?:)

Posté par  (site Web personnel) . Licence CC By‑SA.
2
10
juin
2020

Je suis tombé sur un comportement concernant l'opérateur ternaire C++ (?:) qui (me) semble bizarre. Il est peut-être tout à fait normal, compte tenu que trois compilateurs différents ont le même comportement, mais je ne trouve pas d'explication satisfaisante.

Il porte sur le passage, en tant que paramètres d'un opérateur ternaire, d'un objet déjà instancié, et de l'instanciation à la volée d'un objet du même type. Le destructeur de l'objet déjà instancié est appelé à priori sans que (…)

Forum Programmation.c++ std::bind: réduire les arguments

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
1
13
déc.
2019

Bonjour,

J’ai un système d’interface avec une fonction contenant 2 arguments, je voudrais envoyer vers une fonction avec 1 seul argument. Je sais le faire avec une lambda, mais y a t’il une possibilité avec std::bind. Je prends l’exemple pour add et mult.

#include <iostream>
#include <functional>

int record_callback(std::function<int(int,int)> callback,int a, int b)
{
  // Real code here.
  return callback(a
(…)

Forum Programmation.c++ Passer un pointeur de membre de classe à une fonction statique ou une lambda sans capture?

Posté par  . Licence CC By‑SA.
Étiquettes :
0
13
mar.
2019

Bonjour.

Je suis en train de me faire la main sur l'interfaçage de Lua avec le C++. J'ai compris qu'il existe une tripotée de bibliothèques pour faire ça mais je voudrais profiter de l'occasion pour affûter ma pratique des patrons en C++ sur la résolution d'un casse-tête (cherchez pas, j'aime bien ça).

Le contexte

L'idée que je poursuis est de passer un pointeur vers un membre d'une classe quelconque à une fonction statique ou une lambda (mais celle-ci doit être (…)

Forum Programmation.c++ Visual studio code pour gros projet C++??

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
5
23
jan.
2019

Salut,
dans mon travail, il y a un gros projet C++ sur lequel tout les IDE que j'avais essayé étaient vraiment pourri (éclipse difficile à configurer, lent, indexation pas terrible; clion pas beaucoup mieux; vim leger mais je n'ai pas réussi a le configurer pour reproduire un IDE qui fonctionne bien avec plusieurs onglets et la souris; des collègues ont essayé netbeans sur Windows avec les sources sous Linux, ils m'ont dit que la configuration etait compliqué et l'indexation lente) (…)

Forum Programmation.c++ Meson ne détecte pas boost

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
14
jan.
2019

Bonjour,
Meson ne détecte pas ma libraire boost lors de la compilation de mon projet avec ninja.
Pourtant je l'ai correctement inclus dans
boostdep = dependency('boost', modules : ['thread', 'system', 'test'])
J'utilise la version 0.49 de meson avec ninja 1.8.2.

Voici le fichier meson-log.txt.

Build started at 2019-01-14T14:14:14.038834
Main binary: /opt/bin/python3
Python system: Linux
The Meson build system
Version: 0.49.0
Source dir: /volume1/app/jenkins_home/workspace/rett
Build dir: /volume1/app/jenkins_home/workspace/rett/buildir
Build type: native build
Project name: rett
Project version: 0.14-alpha
Native C++ compiler: c++
(…)

Forum Programmation.c++ probleme avec l'edition de lien

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
1
17
déc.
2018

Bonjour à tous,

Je suis tombé dans un projet d'école avec un répertoire libCalcul ou se trouvait :
libCalcul.so -> libCalcul.so.1.0.0
libCalcul.so.1 -> libCalcul.so.1.0.0
libCalcul.so.1.0 -> libCalcul.so.1.0.0
libCalcul.so.1.0.0

avec les fleches représentant des liens symboliques. Je n'ai rien compris a tous ces liens symboliques. Lors de l'édition de lien la lib libCalcul.so.1.0.0 est la seul qui compte, avec la commande g++ programme.cpp -L:/home/ -lCalcul.so.1.0.0 -o progFinale et ca devrait marcher alors pourquoi créer tous ces liens symboliques?

Ensuite ma seconde (…)

Forum Programmation.c++ seconde intercalaire (leap seconds)

Posté par  . Licence CC By‑SA.
Étiquettes :
2
7
août
2018

Bonjour,
J'obtiens depuis des périphériques synchronisés PtP (precision time protocol) des données timestampées TAI. Pour les convertir en UTC je retire les 37 secondes de décalage.
Cela m'ennuie de gérer ça par une variable, j'aimerais obtenir ce décalage par une API sous linux. Mais je ne trouve pas.
En dernier recours, je peux parser la diffusion PtP mais cela fait plus de travail.
Quelqu'un sait-il où je peux trouver cette valeur mise à jour dans le système ?

Merci

Forum Programmation.c++ [Projet logiciel scan] Problème de timing et traitement de données

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
1
29
jan.
2018

Bonjour à tous,

J'ai développé un projet de scan pour une imprimante avec QtCreator et QtDesigner.

Mon interface graphique est mon objet mainwindow, je lance mes commandes par l'objet com_periph.

Je rencontre un problème de crash ou de non traitement des données lors d'une action de scan.

Mon problème principale est que je ne connais pas la fréquence de répétition du signal readyReadStandardOutput() présent dans la boucle while.

De ce fait, j'ai peur que le traitement fait en slot ne (…)

Forum Programmation.c++ Le constructeur d'une classe de base peut-il savoir qu'il n'est pas le dernier?

Posté par  . Licence CC By‑SA.
0
10
juil.
2017

Je suis conscient que la question n'est pas très claire, un petit bout de code pour illustrer :

class Base {
  public:
    Base() { this->init(); }
    virtual void init() {}
};

class Derived : public Base {
  public:
    Derived() : Base() { }
    void init() {}
};

class Derived2 : public Base {
  public:
    Derived2() : Base() { this->init(); }
    void init() {}
(…)

Forum Programmation.c++ [Résolu] Qt, cmake et debian…

Posté par  . Licence CC By‑SA.
Étiquettes :
0
5
juil.
2017

Bonjour,

J’essaye de compiler un projet qui est une simple dérivation de l’exemple officiel.

Par contre, le reste de mon projet utilise cmake. J’ai essayé plusieurs valeur de version minimale sans succès. Pour cmake j’ai regardé : ici pour l’officiel et là pour le non officiel.

Je suis sous debian 9 avec les paquets qt installé. On retrouve les fichiers d’inclusion dans /usr/include/x86_64-linux-gnu/qt5. Je compile avec gcc qui me dit qu’il ne trouve pas les include :'(.

(…)

Forum Programmation.c++ classe C++, membre structure C et allocation dynamique

Posté par  (site Web personnel) . Licence CC By‑SA.
Étiquettes :
3
21
avr.
2017

Bonjour,
je m'essaye (débutant) à développer une classe c++ dont certains membre sont des pointeurs vers des structures définies dans une bibliothèque c.
Par exemple :

/* maclasse.hh */
#include <une_lib_en_c.h>

class MaClasse {
public:
  MaClasse();
  ~MaClasse();
  int init();
private:
  ma_struct_c *s; //struct définie dans une_lib_en_c.h
};

MaClasse::MaClasse() {
  s = nullptr;
}

MaClasse::~MaClasse() {
  if (s != nullptr) {
    // s_destroy définie
(…)

Forum Programmation.c++ Régression linéaire sur grands entiers

Posté par  . Licence CC By‑SA.
Étiquettes :
2
22
déc.
2016

Bonjour,

J'ai besoin de résoudre un problème de dates.
Je dispose d'une caméra GiGe Vision qui timestamp ses images avec la valeur de son compteur interne. J'ai besoin de corréler ce timestamp avec le temps UTC sur la machine qui reçoit les images.
Je dispose sur cette caméra d'une fonction qui permet de latcher le compteur interne, puis de venir récupérer la valeur à posteriori.
Je latch donc à espaces réguliers ce compteur, et je date UTC cette demande. J'obtiens (…)

Forum Programmation.c++ pre-realease de battle-rage un jeu de combat a la street fighter.

Posté par  (site Web personnel) . Licence CC By‑SA.
4
20
oct.
2016

Salut les C++,

je vous annonce de part ce présent message la pre-release de ma dernière création:

battle-rage: un jeu de combat en 2D a la street fighter écrit en C++ avec la bibliothèque sdl2, sdl2_image, sdl2_ttf et sdl2_mixer.

1. Choisissez le mode de jeu:

  • Player vs Computer.

  • Player vs Player.

  • Computer vs Computer.

2. Puis choisissez votre combattant parmi les 16 combattants disponibles ainsi que votre adversaire ou laisser l'ordinateur tirer (…)