vector<vector<char> > testi; // onnistuu typedef vector<vector<char> > KUVA; // ei onnistu
Miksi ei toimi?
E: Tai ehkä paremmin voisi kysyä: Miten tämä saadaan toimimaan?
Kääntäjä valittaa:
expected init-declarator before '<' token
expected `,' or `;' before '<' token
Kyllä minulla toimii, ettei nyt puuttuisi puolipiste jostain muualta ennen tuota kohtaa koodissa.
Tuo ei toimi otsikkotiedostossani, mutta jos laitan sen itse ohjelman kanssa samaan tiedostoon, se toimii.
// 2dcmd.h
#include <iostream>
#include <fstream>
#include <vector>
...
class NAYTTO
{
...
};
typedef vector<vector<char> > KUVA;// hippisieni_cmd.cpp
#include <oma/2dcmd.h>
#include <oma/perus.h>
typedef vector<vector<char> > KUVA;
int main()
{
...
}Samaa valittaa, jos laitan tuon typedef vaikka heti #include <vector> jälkeen
Muistahan käyttää std-nimiavaruutta (std::vector tai sopiva using-lause).
Joo nyt toimiikin, kiitoksia. Ja minulla tietenkin oli tuolla perus.h:ssa using namespace std;...
Aihe on jo aika vanha, joten et voi enää vastata siihen.