作品:數組分配值
int GlobalVar = 5;
int * LPVar[] = {&GlobalVar};
不起作用:
int GlobalVar = 5;
int * LPVar[]; // int * LPVar[1] doesn't work too
LPVar[0] = &GlobalVar; // errors here
------構建開始:項目:指針,配置:發行的Win32 - ----編譯... ilovpointers.cpp \ ilovpointers.cpp(9):錯誤C2466:不能分配恆定大小0 的陣列\ ilovpointers.cpp(9):錯誤C4430:。缺少類型說明 - 詮釋 假定。注意:C++不支持默認int \ ilovpointers.cpp(9) :錯誤C2040: 'LPVar': 'INT []' 在間接 的水平不同於 '詮釋* [1]' \ ilovpointers.cpp (9):錯誤C2440:初始化': 不能從「詮釋*」轉換爲「INT []」 沒有轉換到數組類型,雖然有轉換到引用或指針數組生成日誌保存在 「文件:// F:\ Visual Studio中 C++ \ PROJECT1 \指針\指針\發佈\ BuildLog.htm」 指針 - 4 誤差(S),0警告(S) ==========構建:0成功,1失敗,0最新,0跳過==========
E DIT:
我解決了,但有問題。
#include <iostream>
#include <stdio.h>
using namespace std;
int GlobalVar = 5;
int * LPVar[1];
void main()
{
LPVar[0] = &GlobalVar;
printf("%i", *LPVar[0]);
cin.get();
}
LPVar是一個全局數組,所以爲什麼當它剛剛定義之後它不工作?
'int * LPVar [1]'應該可以工作。它有什麼問題? – Pubby 2013-04-06 19:34:37
你確定'int * LPVar [1];'不起作用嗎?然後告訴我們錯誤。 – john 2013-04-06 19:35:03
是什麼問題? – 2013-04-06 19:35:37