我最近得到了一個C++程序,用於我的學校測試。#定義與{}和聲明混淆
#include<iostream.h>
#define convert(p,q) p+2*q
void main()
{
int a,b,result;
cin>>a>>b;
result=convert(a,b);
cout<<result;
}
這工作正常。
當我放P + 2 * Q {}中,它給我的錯誤: 「main函數表達式語法()」
現在,當我在輸出之前宣佈的結果,這樣的:
int result = convert(a,b);
它的工作原理。爲什麼?爲什麼不?
這不是問題,爲什麼會發生這種情況。問題在於{}。 – Rahul
哦,對了 - 你能發佈導致問題的實際代碼嗎? –
顯示再現問題的最小示例。 – user2079303