Expected primary expression before token что значит
Перейти к содержимому

Expected primary expression before token что значит

  • автор:

error: expected primary-expression before ‘)’ token (C)

I am trying to call a function named characterSelection(SDL_Surface *screen, struct SelectionneNonSelectionne sel) which returns a void This is the .h of the function I try to call:

struct SelectionneNonSelectionne; void characterSelection(SDL_Surface *screen, struct SelectionneNonSelectionne); void resetSelection(SDL_Surface *screen, struct SelectionneNonSelectionne); 

On my main function, I try to call it like this:

characterSelection(screen, SelectionneNonSelectionne); 

When I compile, I have the message:

 error: expected primary-expression before ')' token 

I made the includes . I suppose I miscall the second argument, my struct . But, I can’t find why on the net. Have you got any idea about what I did wrong?

expected primary-expression before ‘

Видимо, макрос CZ_VER_BUILD определён как пустая строка.

xaizek ★★★★★
( 28.11.14 20:20:06 MSK )
Последнее исправление: xaizek 28.11.14 20:20:15 MSK (всего исправлений: 1)

grep -r CZ_VER_BUILD на WORKDIR что даёт?

Pinkbyte ★★★★★
( 28.11.14 20:21:28 MSK )
Ответ на: комментарий от Pinkbyte 28.11.14 20:21:28 MSK

grep -r CZ_VER_BUILD /var/tmp/portage/dev-util/cuda-z-9999/work/trunk | wgetpaste

странно то, что кустарным способом — собирается

brothermechanic ★★★★★
( 30.11.14 23:18:50 MSK ) автор топика
Ответ на: комментарий от xaizek 28.11.14 20:20:06 MSK

и как исправить?

brothermechanic ★★★★★
( 30.11.14 23:19:04 MSK ) автор топика
Ответ на: комментарий от brothermechanic 30.11.14 23:19:04 MSK

Можно закомментировать этот блок, можно build.h подправить, можно полазять в bld/bin/make_build_svn.pl и подумать чего ревизия от svn не приходит.

У меня src/build.h выглядит так:

/*! \file /home/xaizek/tmp/build/cuda-z-code/src/build.h \brief SVN revision definition. \warning This file is automatically generated by script make_build_svn.pl. \author Andriy Golovnya http://redscorp.net/ \url http://cuda-z.sf.net/ http://sf.net/projects/cuda-z/ \license GPLv3 http://www.gnu.org/licenses/gpl-3.0.html */ #ifndef CZ_BUILD_H #define CZ_BUILD_H #define CZ_VER_BUILD 230 /*!< SVN revision numeric constant. */ #define CZ_VER_BUILD_STRING "230" /*!< SVN revision string constant. */ #define CZ_VER_BUILD_URL "svn://svn.code.sf.net/p/cuda-z/code/trunk" /*!< SVN repository URL. */ #endif /*CZ_BUILD_H*/ 

Попробовать запустить ту команду, svnversion , подумать, чего она может не сработать (вне репозитория, git-svn, или что-нибудь ещё).

Ошибка expected primary-expression before ')' token

Ошибка expected primary-expression before ';' token
Помогите разобраться, пожалуйста, вот ошибка: #include <iostream> #include <math.h> #include.

Ошибка: expected primary-expression before '.' token
В этом коде выдает такую ошибку: Widget::Widget(QWidget *parent) : QWidget(parent), .

Ошибка. Expected primary-expression before ';' token
код в 3 файлах zag.h: #ifndef ZAG_H_INCLUDED #define ZAG_H_INCLUDED #include <iostream>.

Ошибка: expected primary-expression before ')' token
Всем доброго времени суток, пишу программу для ВУЗа, задачей стоит сделать структуру любого.

"C with Classes"
1641 / 1398 / 523
Регистрация: 16.08.2014
Сообщений: 5,855
Записей в блоге: 1

Лучший ответ

Сообщение было отмечено Thundergrove как решение

Решение

Thundergrove, непонятная конструкция, что ты хотел сказать этим?

(znak = +)

Добавлено через 42 секунды
наверно это

(znak == '+')

Добавлено через 1 минуту

ЦитатаСообщение от Thundergrove Посмотреть сообщение

int sum = a + b;
* int min = a - b;
* int ymn = a * b;
* int del = a / b;

сначала складываешь переменные потом вводишь в них данные.

Добавлено через 2 минуты
Thundergrove,

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
#include using namespace std; int main() { int a, b; /*int sum = a + b; int min = a - b; int ymn = a * b; int del = a / b;*/ char znak; cout  "Write 1st number \n"; cin >> a; cout  "Write 2nd number \n"; cin >> b; cout  "Write action (+, -, /, *) \n"; cin >> znak; if (znak == '+') { cout  "Sum = "  a + b  endl; } return 0; }

expected primary-expression before '.' token

Cześć, piszę program na zaliczenie na studia i podczas budowania go w pliku z klasami dostaję taki oto błąd "error: expected primary-expression before '.' token". Próbowałem już znaleźć odpowiedź na google, ale nic nie znalazłem.

Oto cały kod z klasami.

#include #include using namespace std; class Aktor < private: string nazwisko; int ID_aktor; public: Aktor()< ID_aktor=0; nazwisko= "brak" ; >Aktor(int ID_aktor, string nazwisko) < this ->ID_aktor = ID_aktor; this -> nazwisko = nazwisko; > int daj_id () < return ID_aktor; >string daj_nazwisko () < return nazwisko; >void pokaz_aktora() < coutfriend class Obsada; >; class Film < private: int ID_film; string tytul; int rok_produkcji; public: Film()< ID_film=0; tytul = "brak"; rok_produkcji = 2000; >Film(int ID_film, string tytul, int rok_produkcji) < this ->ID_film = ID_film; this -> tytul = tytul; this -> rok_produkcji = rok_produkcji; > int daj_id () < return ID_film; >string daj_tytul () < return tytul; >int daj_rok () < return rok_produkcji; >void pokaz_film() < coutfriend class Obsada; >; class Obsada< int ida = Aktor.ID_aktor; int idf = Film.ID_film; >; 

Obserwuj Udostępnij Komentuj
0
Obserwuj Udostępnij Komentuj
0

Musisz utworzyć obiekty klas Aktor i Film i dopiero wtedy będziesz mógł uzyskać dostęp do składowych klasy za pomocą operatora .
btw. po co klasy Aktor i Film są zaprzyjaźnione z Obsada skoro moją gettery

Obserwuj Udostępnij Komentuj
1

class Obsada< int ida = Aktor.ID_aktor; int idf = Film.ID_film; >; 

Co to ma Twoim zdaniem robić?

Obserwuj Udostępnij Komentuj
0

Patryk27 napisał(a):
class Obsada< int ida = Aktor.ID_aktor; int idf = Film.ID_film; >; 

Co to ma Twoim zdaniem robić?

Pobierać te 2 dane z tamtych klas, które będą zapisywane w pliku.

Obserwuj Udostępnij Komentuj
0

Pobierać te 2 dane z tamtych klas, które będą zapisywane w pliku.

Klasy same w sobie nie trzymają żadnych danych przecież (na zasadzie: jaka jest w takim razie wartość pola ID_aktor w Twoim kodzie?), zatem jakie dane oczekujesz, że się tam pojawią?

Dopiero do instancji klas (np. Aktor janKowalski; ) możesz wprowadzić jakieś dane, pomijając oczywiście pola statyczne - zatem jakiej wartości oczekujesz w Twoich Obsada::ida oraz Obsada::idf ?

Obserwuj Udostępnij Komentuj
0

Patryk27 napisał(a):

Pobierać te 2 dane z tamtych klas, które będą zapisywane w pliku.

Klasy same w sobie nie trzymają żadnych danych przecież (na zasadzie: jaka jest w takim razie wartość pola ID_aktor w Twoim kodzie?), zatem jakie dane oczekujesz, że się tam pojawią?

Dopiero do instancji klas (np. Aktor janKowalski; ) możesz wprowadzić jakieś dane, pomijając oczywiście pola statyczne - zatem jakiej wartości oczekujesz w Twoich Obsada::ida oraz Obsada::idf ?

W takim razie jak inaczej napisać klasę obsada taką jak z polecenia na zdjęciu?

Obserwuj Udostępnij Komentuj
0

Wydaje mi się, że nadinterpretujesz treść polecenia - po co tam jakieś idCośtam = klasa.idCośtam ?

class Obsada

Chociaż technicznie tak byłoby najlepiej i jednocześnie miałoby to jakiś sens:

class ObsadaFilmu < protected: Film film; std::vectoraktorzy; > 

Obserwuj Udostępnij Komentuj
0

Patryk27 napisał(a):

Wydaje mi się, że nadinterpretujesz treść polecenia - po co tam jakieś idCośtam = klasa.idCośtam ?

class Obsada

Chociaż technicznie tak byłoby najlepiej i jednocześnie miałoby to jakiś sens:

class ObsadaFilmu < protected: Film film; std::vectoraktorzy; > 

Okej, tylko teraz nie mam pojęcia jak np wyświetlić aktora, który wystąpił w największej liczbie filmów. Moje pliki z danymi wyglądają tak:
Filmy
1 shrek 2000
2 wolyn 2016
Aktorzy
1 Daniel
2 Linda

Prawdopodobnie muszę dodać do menu jeszcze opcję ręcznego dodawania obsady, ale nie wiem nawet jakby to miało do końca wyglądać. Może jest na to jakiś inny sposób?
Dokleję jeszcze mojego aktualnego maina:

#include #include "class.h" #include #include #include using namespace std; int main() < int menu; for(;;)< cout> menu; system("cls"); // Aktor Aktor a[50]; int id_akt; string nazwis; ofstream doaktor("aktor.txt", ios_base::app); ifstream zaktor("aktor.txt"); int liczba_akt=0; // Film Film f[50]; int id_fil, rok_prod; string tyt; ofstream dofilm("film.txt", ios_base::app); ifstream zfilm("film.txt"); int liczba_fil=0; // Obsada //Obsada o[50]; //int id_ak; //int id_fi; // zmienne string data, data2; int zmienna; if(zaktor.is_open())< for(;;)< if(!(zaktor >> id_akt)) break; zaktor >> nazwis; Aktor Aktor(id_akt, nazwis); a[liczba_akt] = Aktor; liczba_akt++; > > if(zfilm.is_open())< for(;;)< if(!(zfilm >> id_fil)) break; zfilm >> tyt; zfilm >> rok_prod; Film Film(id_fil, tyt, rok_prod); f[liczba_fil] = Film; liczba_fil++; > > switch(menu) < case 1: cout> id_akt; cin >> nazwis; doaktor break; case 3: cout>id_fil; cin>>tyt; cin>>rok_prod; dofilm break; case 5: for (int i=0 ; i < liczba_fil ; i++)< if (f[i].daj_rok()== 2016) f[i].pokaz_film(); >break; case 6: cin>>data; for (int i=0 ; i < liczba_fil; i++)< data2 = f[i].daj_tytul(); if (a[i].daj_nazwisko() == "daniel" ) f[i].pokaz_film(); >break; case '7': < coutbreak; case 0: exit(0); break; default: cout getchar();getchar(); system("cls"); > return 0; > 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *