Autor Wątek: C++ builder 5  (Przeczytany 7601 razy)

Offline MavericK

  • Użytkownik
    • Tworzenie gier dla początkujacych

# Październik 30, 2006, 21:38:45
[C++Error]Unit1.cpp(19): E2333 Class member'_fastcall TForm1::Button1Click(TObject")' declared outside its class
[C++Error] Unit1.cpp(19): E2141 Declaration syntax error
MavericK jak wpisuje to co mi napisałeś jest chyba jeszcze gożej ;)

Hmmm dziwne. Ja wpisuje do swojego kompilatora takie cos:
#include <iostream.h>
#include <conio.h>
int main()
{
puts("cos");
getch();
return 0;
}
I mi wszystko ładnie śmiga.

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Loner

  • Użytkownik

# Październik 30, 2006, 21:41:22
usunołem ten Button1Click i wyskakuje coś takiego
[C++Error]Unit1.copp(14): E2275 { expected
a jak wpisuje to co napisał MavericK  to wyskakuje mi w kodzie coś takiego
#ifndef __STDDEFS_H
#define __STDDEFS_H
#pragma option push -b -a8 -pc -Vx- -Ve- -w-inl -w-aus -w-sig
#ifndef __RWSTDDEFS_H__
#define __RWSTDDEFS_H__

/***************************************************************************
 *
 * stddefs.h - Common definitions
 *
 * $Id: stddefs.h,v 1.19 1996/09/24 19:18:09 smithey Exp $
 *
 ***************************************************************************
 *
 * Copyright (c) 1994-1999 Rogue Wave Software, Inc.  All Rights Reserved.
 *
 * This computer software is owned by Rogue Wave Software, Inc. and is
 * protected by U.S. copyright laws and other laws and by international
 * treaties.  This computer software is furnished by Rogue Wave Software,
 * Inc. pursuant to a written license agreement and may be used, copied,
 * transmitted, and stored only in accordance with the terms of such
 * license and with the inclusion of the above copyright notice.  This
 * computer software or any other copies thereof may not be provided or
 * otherwise made available to any other person.
 *
 * U.S. Government Restricted Rights.  This computer software is provided
 * with Restricted Rights.  Use, duplication, or disclosure by the
 * Government is subject to restrictions as set forth in subparagraph (c)
 * (1) (ii) of The Rights in Technical Data and Computer Software clause
 * at DFARS 252.227-7013 or subparagraphs (c) (1) and (2) of the
 * Commercial Computer Software – Restricted Rights at 48 CFR 52.227-19,
 * as applicable.  Manufacturer is Rogue Wave Software, Inc., 5500
 * Flatiron Parkway, Boulder, Colorado 80301 USA.
 *
 **************************************************************************/

# include <stdcomp.h> /* Set compiler-specific flags */

STARTWRAP
#ifndef _RWSTD_NO_NEW_HEADER
#include <cstddef> /* Looking for size_t */
#else
#include <stddef.h> /* Looking for size_t */
#endif
ENDWRAP

#define _RWSTDNIL -1L

#ifndef _RWSTD_NO_NEW_HEADER
#ifndef _RWSTD_NO_NAMESPACE
using std::size_t;
using std::ptrdiff_t;
#endif
#endif

//
// Macro for determining the number of bits in a word.
// Used by vector<bool>.
//
#define _RWSTD_WORD_BIT (int(CHAR_BIT*sizeof(unsigned int))) 
 
/*
 *     W I N D O W S - S P E C I F I C   C O D E
 *
 * Enable or disable, as necessary, for Microsoft Windows
 */
#if defined(__WIN32__) || defined (__WIN16__)
#  include <rw/stdwind.h>
#else
   /* Disable Windows hacks if we are not compiling for Windows: */
#  define _RWSTDExport
#  define _RWSTDExportTemplate
#  define _RWSTDExportFunc(ReturnType) ReturnType
#  define _RWSTDExportTemplate
#  define _RWSTDExportStatic
#endif

#if !defined(_MSC_VER) || defined(__BORLANDC__)
#define _RWSTDGExport _RWSTDExport
#else
#define _RWSTDGExport
#endif
/*************************************************************************
**************************************************************************
** **
** From here on, it's pretty much boilerplate **
** and rarely requires any tuning. **
** **
**************************************************************************
**************************************************************************/

/*
 *     D E B U G G I N G
 *
 * Use -D_RWSTDDEBUG to compile a version of the libraries to debug
 * the user's code.  This will perform pre- and post-condition checks
 * upon entering routines, but will be larger and run more slowly.
 *
 * Use -D_RWMEMCK to add memory checking software.
 *
 * VERY IMPORTANT!  *All* code must be compiled with the same flag.
 */

#if defined(RDEBUG) && !defined(_RWSTDDEBUG)
#  define _RWSTDDEBUG 1
#endif

#if defined(_RWSTDDEBUG)
#  ifndef _RWSTDBOUNDS_CHECK
#    define _RWSTDBOUNDS_CHECK 1 /* Turn on bounds checking when debugging. */
#  endif
STARTWRAP
#ifndef _RWSTD_NO_NEW_HEADER
#  include <cassert>
#else
#  include <assert.h>
#endif
ENDWRAP
#  define _RWSTDPRECONDITION(a) assert( (a) != 0 ) /* Check pre- and post-conditions */
#  define _RWSTDPOSTCONDITION(a) assert( (a) != 0 )
#ifdef _RWSTD_NO_NESTED_QUOTES
#  define _RWSTDPRECONDITION2(a,b) assert( (a) != 0 )
#  define _RWSTDPOSTCONDITION2(a,b) assert( (a) != 0 )
#else
#  define _RWSTDPRECONDITION2(a,b) assert((b, (a) !=0))
#  define _RWSTDPOSTCONDITION2(a,b) assert((b, (a) !=0))
#endif
#  define _RWSTDASSERT(a) assert( (a) != 0 )
#else
#  define _RWSTDPRECONDITION(a)
#  define _RWSTDPOSTCONDITION(a)
#  define _RWSTDPRECONDITION2(a,b)
#  define _RWSTDPOSTCONDITION2(a,b)
#  define _RWSTDASSERT(a)
#endif

/*
 * The following allows getting the declaration for RTL classes
 * right without having to include the appropriate header file
 * (in particular, istream & ostream).
 */
#ifdef __TURBOC__
#  include <_defs.h> /* Looking for _CLASSTYPE */
#  define _RWSTDCLASSTYPE _CLASSTYPE
#else
#  define _RWSTDCLASSTYPE
#endif

/* No RCS for MS-DOS (it has enough memory problems already!): */
#ifdef __MSDOS__
#define RCSID(a)
#define _RW_RCSID(a)
#else
#define RCSID(a) static const char rcsid[] = a
#define _RWSTD_RCSID(a) static const char rcsid[] = a
#endif

#ifdef __cplusplus

const size_t _RWSTD_NPOS            = ~(size_t)0;

#ifndef _RW_STD_IOSTREAM
class _RWSTDCLASSTYPE istream;
class _RWSTDCLASSTYPE ostream;
class _RWSTDCLASSTYPE ios;
#endif

#ifdef _RWSTD_MULTI_THREAD
class _RWSTDMutex;
#endif

#ifdef _RWSTD_NO_FRIEND_INLINE_DECL
#  define _RWSTD_INLINE_FRIEND friend
#else
#  define _RWSTD_INLINE_FRIEND inline friend
#endif
#endif // if C++

#endif // __RWSTDDEFS_H__

#pragma option pop
#endif /* __STDDEFS_H */
a w kompilatoże za dużo tego pisze, nie chce mi się tego przepisywać :D
« Ostatnia zmiana: Październik 30, 2006, 21:44:26 wysłana przez Loner »

Offline Majtek

  • Użytkownik

# Październik 30, 2006, 21:48:51
stwórz nowy projekt i zaznacz że to na konsolę by chyba masz okienkowe  skoro miałeś funkcje Button1Click, bo pewnie masz parę plików w projekcie a jak jesteś początkujący to mażesz mieć kłopot z ustawieniem tego wszystkiego teraz

Offline Złośliwiec

  • Użytkownik
    • Dark Cult

# Październik 30, 2006, 21:50:27
Stwórz sobie NOWY projekt, nie usuwaj nic ze starego, bo jak widzę nie orientujesz się za bardzo, co można usunąć, a co nie. I nie używaj żadnego badziewia w rodzaju <conio.h>, bo nie ma tego w standardzie. Do pisania na ekranie w konsoli używa się zwykle printf albo strumieni (std::cout). Ewentualnie może być ten puts.

Offline Loner

  • Użytkownik

# Październik 30, 2006, 21:50:44
button1click mam dlatego bo chciałem żeby to się działo po naciśnięciu gusika
a więc tak, zrobiłem nowy projek i, i tak nie pasuje main() :/ nawet zamiast puts() wpisałem printf() i nic :/ a jutro mam wolne, cholera myślałem że coś zrobie :/
« Ostatnia zmiana: Październik 30, 2006, 21:56:20 wysłana przez Loner »

Offline Majtek

  • Użytkownik

# Październik 30, 2006, 21:55:14
po naciśnięciu guzika? jakiego, na konsoli nie ma guzików. a jak zrobiłeś okienkową po powinno być int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)

Offline Loner

  • Użytkownik

# Październik 30, 2006, 21:57:58
po naciśnięciu guzika na formacie :/ otwożyłem projekt jako aplikacja

Offline Złośliwiec

  • Użytkownik
    • Dark Cult

# Październik 30, 2006, 22:01:03
Żeby mieć jednocześnie konsolę i okno z guzikami, to ty musisz trochę więcej doświadczenia zdobyć jako programista :). Chyba, że pobawisz się Irrlichtem, który co prawda do czego innego służy, ale jest tam "na dzień dobry" i konsola tekstowa, i możliwość tworzenia prostego GUI.

Offline Majtek

  • Użytkownik

# Październik 30, 2006, 22:04:42
A więc powinno być WinMain u ciebie
Najlepiej napisz nowy projekt i zaznacz że ma być konsola

Offline Loner

  • Użytkownik

# Październik 30, 2006, 22:05:38
stop, pogubiłem się, czyli to okno które się odrazu po uruchomieniu c++ pojawia (taka szara plansza z caption form1 taką samą nazwą) + jeszcze okno z kodem nie jest dla początkujących, to które jest??

Offline Majtek

  • Użytkownik

# Październik 30, 2006, 22:14:33
domyślnie uruchamia się nowy projekt "aplikacja okienkowa". Zrób z menu File zamknij wszystko i potem mowy projekt, tam wybierz konsolowy bez vcl (ile pamiętam nie używam tego kompilatora)

Offline Loner

  • Użytkownik

# Październik 30, 2006, 22:23:40
dobra, a więc jak to otwieram to już tam jest int main(int argc, char* argv[]) więc podejżewam że main() nie jest potrzebne, lecz teraz sam kod printf("text") i puts("text") nie działa,
puts()
[C++Error]Unit1.cpp(10): E2268 Call to Undefined function 'puts'
printf()
to samo co u puts() tylko zamiast 'puts' tp 'printf' :/
                         

Offline Majtek

  • Użytkownik

# Październik 30, 2006, 22:26:30
to zasadniczo to samo czytaj(daje taki sam efekt) komunikaty mówi że nie wie co to puts, więc nie dodałeś nagłówka gdzie on jest zdeklarowany poszukaj w pomocy którym nagłówku się on znajduje i go dodaj

Offline Złośliwiec

  • Użytkownik
    • Dark Cult

# Październik 30, 2006, 22:28:40
Wiesz co? Weź sobie jakąś porządną książkę o C++ albo odszukaj na stronach Warsztatu link do Megatutoriala, bo w taki sposób jak powyżej nie dojdziemy do niczego - nikt cię nie będzie prowadził za rączkę przez cały czas. Dorzuć przed deklaracją main() linijkę:

[codei=cpp]
#include <cstdio>
[/codei]

To moja ostatnia rada w tym temacie, resztę wiedzy zdobywaj sobie sam. Życzę pomyślności na szerokich wodach :P.

Offline MavericK

  • Użytkownik
    • Tworzenie gier dla początkujacych

# Październik 30, 2006, 22:36:23
Złośliwiec moge zapytacć jaki inny sposób polecasz na ztrzymanie pracy programu. Bo np. jak pisze w Dev-C++ i uruchomie programik tupi HelloWorld to on mi tylko smignie przed oczami i sie wylacza. Xion używał w swopim tutku własnie <conio.h> i getch(); Znasz jakis inny sposób?? Pozdrawiam

PS: Taki troche offtop ale nie mialem gdzie zapytac;p