0
typedef struct {
long long int mem_0;
} Tuple1;
typedef struct {
int tag;
union {
struct Tuple1 Union0Case0;
} data;
} Union0;
C:/Users/Marko/Documents/Visual Studio 2015/Projects/Multi-armed Bandit Experiments/SpiralExample/bin/Release/cuda_kernels.cu(10): error: incomplete type is not allowed爲什麼typedefed結構無法用NVCC編譯?
上面確實在GCC 5.3.0編譯器上編譯。當我把它改成這樣,它的工作原理:
struct Tuple1 {
long long int mem_0;
};
struct Union0 {
int tag;
union {
struct Tuple1 Union0Case0;
} data;
};
這個錯誤對我來說似乎是完全合理的。你想在聯合中使用'Tuple1 Union0Case0'。在沒有點您是否聲明瞭一個名爲'Tuple1'的命名結構體? – talonmies
我沒有?那麼第一個typedef應該是什麼? –
這是一個* unnamed * struct(沒有名稱跟在關鍵字'struct'後面)。 – njuffa