IAR AVR ne more podpreti več razsežnosti array?

M

maziar

Guest
IAR imajo težave z dve razsežnosti array?//////////// Začetku koda

# vključujejo <iom16.h>

nepotpisani char pomnilnika VRAM [2] [5];

neveljaven glavne (neveljaven)
(
nepotpisani char * p;
p = pomnilnika VRAM;
PORTD = * p;

)

//////////// Konec koda

so ustvarili:

Napaka [Pe513]: vrednost tipa "nepodpisane char (*) [5]" ne more biti dodeljena za podjetje tipa
"nepodpisane char *"

Napake: 1
Opozorila: nonezakaj?IAR ne more podpreti multidimention array res?

kaj naj naredim?

 
maziar,

Pomnilnika VRAM je dve razsežnosti matrika, tako da bi bilo narobe (od stricly ANSI), da dodelijo celoti na kazalec na tak način, z dne.

p = pomnilnika VRAM;
ne bi dodelite p naslov elementa v [row0] [col0], kakor je za svoje namene.

Moral bi napisati na primer:

p = pomnilnika VRAM [0];.To bi dodelite p naslov prvega elementa (vrstica 0) na col 0.

Nad Navada dati kakršne koli napake.

 
maziar wrote:

IAR imajo težave z dve razsežnosti array?//////////// Začetku koda# vključujejo <iom16.h>nepotpisani char pomnilnika VRAM [2] [5];neveljaven glavne (neveljaven)

(

nepotpisani char * p;

p = pomnilnika VRAM;

PORTD = * p;)//////////// Konec kodaso ustvarili:Napaka [Pe513]: vrednost tipa "nepodpisane char (*) [5]" ne more biti dodeljena za podjetje tipa

"nepodpisane char *"Napake: 1

Opozorila: none
zakaj?
IAR ne more podpreti multidimention array res?kaj naj naredim?
 
i test p = pomnilnika VRAM;

v ke **, VC , BC Builder vse ok, vendar IAR ...<img src="http://www.edaboard.com/images/smiles/icon_redface.gif" alt="Nerodno" border="0" />
 
Ni na vse nenavadno stanje, ko nekaj sestavljač je nekoliko več »dopustnim« nato drugi.Vendar to ne pomeni rezultat je pravilen, tudi ti ne dobijo nazaj sestavljač napake.Pogosto preverjanje nastalih objektni kodi pokaže največ pasti.

Prosimo, preberite "Brian W. Kernighan & Dennis M. Ritchie",
2. izdaja, poglavje 5,7 večrazsežnosten vektorjev.

O dodelitvi kazalec na kazalec sem dubtly bo delovala.Glavni problem tukaj je, če morate opraviti pomnilnika VRAM [vrstica] [col] (s kazalcem in kot parameter funkcije), morate navesti [col] razsežnost razen prvih razsežnost [vrstica], ki je brezplačno.

 
To je PC-Odpadki od Preja poskuša povem vam:

PC-Odpadki od Preja za C / C (NT) Ver.8.00n, Copyright Gimpel Software 1985-2003
--- Modul E: \ WINDOWS \ Desktop \ test.c

--- Modul E: \ WINDOWS \ Desktop \ test.c
_
p = pomnilnika VRAM;
E: \ WINDOWS \ Desktop \ test.c 6 Error 64: Vrsta neusklajenost (zadolžitev) (nepodpisanih char * = nepotpisani char (*) [5])

In tu je tisto, kar Napaka 64 pomeni:

64 Vrsta neusklajenost (Context) (TypeDiff)
- Prišlo je do neusklajenosti v vrsti je po vsej
dodelitev (ali implicitna dodelitev, glejte Kontekst).TypeDiff določa vrsto razlike.
Glej možnosti-epn, eps-,-EPU,-EPP (oddelek 5.2 Napaka Inhibicija Možnosti), da bodo te Verm-žajbelj
Ob razvrščanju nekaterih vrst kazalca.

življati šala zabava

 
Živjo,

Poskusite line:
p = (nepodpisanih char *) pomnilnika VRAM;

Mislim, da te bo sestavil.Nebo.

 

Welcome to EDABoard.com

Sponsor

Back
Top