Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá a todos. Sou programador Java há anos e iniciei recentemente em C++. Apesar de várias similaridades, ainda há algumas diferenças que não estou entendendo. Bem, vamos lá:
Tenho um array bidimensional declarado em uma determinada classe, mas não quero atribuir seu valor na declaração. A atribuição de seu valor é feita em uma subclasse (porém, preciso do array declarado na classe pai, pois alguns métodos definidos nesta classe pai que não convém definir na subclasse utilizam o tal array; tudo funciona pois a classe pai nunca é instanciada, entretanto, não é conviniente torna-la abstrata).
Bom, desculpas para não declarar e atribuir valores ao tal array ao mesmo tempo a parte, quando definir os valores, quero defini-los todos ao mesmo tempo, tipo array = {1, 2, 3, 4, 5...} ao invés de array[0] = 1; array[1] = 2, etc, pois são muitos os valores (o array é utilizado para pintar um mapa de tiles na tela). Mas na compilação, recebo um famigerado "expected primary expression before '{' token", sendo que o '{' referido é o '{' logo após array =. Com isso, concluo que este tipo de atribuição para arrays (array = {(valores)}; ) só é valido na sua declaração, estou certo?
Então, como posso fazer isso?
Partes relevantes do código:
arquivo classe_pai.h:
int array[0][0];
arquivo subclasse.h
int array[x][y]; (é sobrescrito)
arquivo subclasse.cpp
array = {(valores do array)};
erro: "expected primary expression before '{' token" como eu disse antes, o "token {", é a chave logo após o =.
Carregando comentários...