鍍金池/ 問答/C++/ C++中指針修改函數(shù)返回值

C++中指針修改函數(shù)返回值

int add()
{
int a=2;
int b=3;
int c=a+b;
return c;
}

int main()
{
int *p;
p=add();
*p=20;
return 0;
}

報錯信息:
error C2440: “=”: 無法從“int”轉(zhuǎn)換為“int *”
1> 從整型轉(zhuǎn)換為指針類型要求 reinterpret_cast、C 樣式轉(zhuǎn)換或函數(shù)樣式轉(zhuǎn)換
========== 生成: 成功 0 個,失敗 1 個,最新 0 個,跳過 0 個 ==========
在下想通過指針去修改函數(shù)的返回值,還請教前輩解答。

回答
編輯回答
你好胸
#include <cstdio>
int add()
{
  int a=2;
  int b=3;
  int c=a+b;
  return c;
}

int main()
{
  int *p;
  int i = add();
  p=&i;
  *p=20;
  printf("%d", *p);
  fflush(stdout);
  return 0;
}

報錯信息很明顯了, c++不允許從int轉(zhuǎn)為int*.
好好份書或者教程看看吧...

2017年8月8日 05:46