#programowaniec++
#programowanie
#jezykc++
#C++
Uszanowanie,
Mam takie zadanie (patrz PNG) i totalnie nie ogarniam tablic, których elementami są obiekty.
Gdyby ktoś zechciał zerknąć na mój kod, wskazać błędy i wytłumaczyć byłbym bardzo wdzięczny.

#ifndef complexhpp
#define complex
hpp
#include
#include

using namespace std;
class complex{
friend class tab_complex;
public:
double re;
double im;
complex();
complex(double liczba);
complex(double rzeczywista, double zespolona);
double fun1();
double fun2();
double fun3();
double fun4();
double
wojak142 - #programowaniec++
#programowanie
#jezykc++
#C++
Uszanowanie, 
Mam tak...

źródło: comment_1619780396QLIfRQCk1KoDvokD6vA570.jpg

Pobierz
#jezykc #programowanie Cześć, jak sobie radzicie z kolejnością bitów (endiannes) na róznych platformach, jeśli Wasz kod ma być wspólny zarówno dla big i little endian? tylko #ifndef i warianty? Moze jakiś parametr w kompilatorze np. GCC.
Bo zapisałem plik binarnie na PC a potem za pomocą tego samego kodu chailem go otworzyć na zupelnie innej platformie i miałem wartosci z kosmosu, dopiero musiałem je odwrócić.. no i właśnie, jeśli mam zapisaną do
@ZawzietyRobaczek: rozwiązanie jest proste: nie pisz kodu, który wymaga dbania o endianess. Użyj gotowego formatu jak np. protobuf, luby jak chcesz bardziej hardkorowe/wydajniejsze rozwiązania to cap n proto lub sbe
  • Odpowiedz
@maad: jak serializujesz typy prymitywne to równie dobrze możesz użyc serializacji tekstowej, bo pojedyńczy prymityw nigdy nie będzie problemem
  • Odpowiedz
Sam już nie wiem jak mam to zrobić...
Jak dam definicje typów do .h to wyrzuca mi same błędy
Mam za zadanie:
utworzenie pliku nagłówkowego listapowiazana.h zawierającego elementy tworzące jedyny
interfejs korzystania z kodu funkcji obsługujących naszą implementację listy powiązanej
▪definicje typów
▪deklaracje funkcji
▪umieszczenie na początku pliku konstrukcji zabezpieczającej przed wielokrotnym
włączaniem do plików źródłowych, wykorzystującej warunkową kompilację, np.:
#ifndef
listapowiazana
#define listapowiazana
(nie należy zapomniec o
@OstryKepucz: Hello, nie czaję trochu tematu, które pliki dostałeś od profka :D ? A które już sam stworzyłeś, i wklej prosze całą treść zadanka na pastebin i poszczególne pliki otrzymane od profka pod jeden link - (oddziel poszczególne //////////////////////////////////////////////////////////////////////////////////////////////////_ źle mi sie tu czyta - to Ci to machne przy herbacie :D
  • Odpowiedz
@luk6xff: wszystko już ok, ale dzięki za chęci :D Głównym problemem był nieprawidłowy makefile (i brak wiedzy że oba pliki trzeba kompilować do obiektów, a nie tylko main.c) i kilka drobnych błędów które napotkałem motając się z tymi nagłówkami i strukturami w 3 plikach ( ͡° ͜ʖ ͡°)
  • Odpowiedz
Nie ufajcie zbytnio temu co widzicie. Z godzinę szukałem błędu kompilacji error C2504: '': base class undefined. A problem był taki, że qt creator podświetlał mi nię tą część kodu co była tak na prawdę kompilowana.

Było coś takiego:

#ifndef _MAC

typedef jakis typ;

#else

typedef inny typ;

#endif


Jako, że kompilowałem na windowsie to byłem przekonany, że kompiluje się pierwsza część i tak też podświetlał qt creator.

#programowanie #cpp
@dpietrek: Zawsze można użyć static_assera, żeby sprawdzić co w tym typie siedzi.
No cóż, żeby łatwiej takie błędy łapać, to koncepty są potrzebne. Dopiero w C++20 ma wejść.
  • Odpowiedz
#naukaprogramowania #programowanie #cpp
Jaki jest tag dla zwykłego c? :O

Czy mógłby mi ktoś wyjaśnić jak pozbyć się tego problemu?

#ifndef F-PROTOP_H_INCLUDED
#define F-PROTOP_H_INCLUDED

#define ROZMIAR 10000; // maks rozmiar sortowanych danych
extern int n; //rozmiar tablicy

//WEJSCIE I WYJSCIE
extern void output_data(int B[]);
extern void input_and_check_data(void);

//PROCEDURY ALGORYTMU
extern int * C_K_E(int A[],int n,int m); //POLICZ KLUCZE ROWNE
extern int * C_K_L(int rowne[],int m); //POLICZ-KLUCZE-MNIEJSZE
extern int * Reorg(int A[],int mniejsze[],int
Mircy, mam sobie programik w C. Jest jakiś plik źródłowy typu funkcja.c oraz header do niego funkcja.h.
przykładowo:

funkcja.h:

#ifndef funkcjah
#define funkcjah

typedef struct struktura
{
Uint32 a;
Uint32 b;
} struktura;

extern volatile struktura dupa8;

#endif

po czym wywołuję "struktura" w funkcja.c:

#include "funkcja.h"

volatile struktura dupa8;

Niby spoko, ale kompilator wywala mi bład na deklaracji "struktura dupa8" "does not name a type". Wiecie co moze być przyczyną?
@CichyGlosZTyluGlowy: Sprawdziłem i miałem rację. Musisz wszystkie zmienne zdefiniować na początku każdego bloku.

Kwestia przyzwyczajenia się oraz dokumentowania co robi każda zmienna.

Protip: nie nazywaj zmiennych losowymi nazwami i jak trzeba twórz nawet długie nazwy zmiennych. Po każdej pętli iterującej zeruj iterator chyba że będzie ci potrzebna wartość do czegoś innego. I zawsze implementuj zbieranie śmieci laboranci to lubią ( ͡° ͜ʖ ͡°)
  • Odpowiedz
#include

#include "dane.h"

int main()

{

struct dane zm;

printf("%d %d %c\n", zm.pole1, zm.pole2, zm.pole3);

return 0;
}

#ifndef DANE H

#define DANE
H

struct dane{

int pole1;

int pole2;

char pole3;

}

#endif

expected ‘;’, identifier or ‘(’ before ‘int’|

gdzie popełniłem błąd? tak wiem, banalny pewnie :D ale po paru godzinach snu nie mysle, a musze sie za to dzisiaj zabrac :D to nie jest pelny kod ;)

#programowanie
@KrzaQ2: no bez przesady w tym wypadku, wspieraja: Clang, Comeau C/C++, C++Builder XE3,Digital Mars C++, GCC (>3.4), Intel C++ Compiler, Microsoft Visual C++, Pelles C , ARM DS-5, IAR C/C++
  • Odpowiedz
Mireczki czy ten kod będzie działać?

Jest to odbiornik sygnału 433MHz po UART. Nadajnik cały cały czas nadaje, a mimo to nic mi nie odbiera :/

Zasilanie zarówno nadajnika, jak i odbiornika filtrowane 470uF i 100nF, brak kwarcu.

#include

#include

#include

#ifndef FCPU

//define cpu clock speed if not defined


#define F
CPU 8000000

#endif

//set desired baud rate

#define BAUDRATE 1200

//calculate UBRR value

#define UBRRVAL ((F_CPU/(BAUDRATE*16UL))-1)

//define receive parameters