ข้อผิดพลาด: ไม่สามารถยกเลิกการอ้างอิง Int ใน C ++

Khx Phid Phlad Mi Samarth Ykleik Kar Xangxing Int Ni C



ภาษาการเขียนโปรแกรมจำเป็นต้องมีไลบรารี ฟังก์ชัน ไวยากรณ์ และสิ่งอื่นๆ เมื่อทำงานกับภาษาเหล่านั้น ดังนั้นจึงมีโอกาสที่รหัสของเราจะมีข้อผิดพลาด การเขียนโปรแกรมในภาษา C++ มีข้อผิดพลาดหลายประเภท เราจะหารือเกี่ยวกับข้อผิดพลาด “int ไม่สามารถยกเลิกการอ้างอิงใน C ++” ที่นี่ ข้อผิดพลาดนี้เกิดขึ้นเมื่อเราพยายามใช้ตัวดำเนินการ Dereference “*” กับข้อมูลประเภทจำนวนเต็ม “int” เนื่องจาก “int” เป็นประเภทข้อมูลดั้งเดิม เราไม่สามารถยกเลิกการอ้างอิง “int” ในการเขียนโปรแกรม C++ ได้ ที่นี่ ข้อผิดพลาด “int ไม่สามารถถูกอ้างอิงใน C++” และแนวทางแก้ไขจะได้รับการสำรวจอย่างละเอียด รหัสบางส่วนระบุไว้ในคู่มือนี้ ซึ่งเราจะดูว่าข้อผิดพลาดนี้เกิดขึ้นได้อย่างไร และวิธีจัดการกับข้อผิดพลาดประเภทนี้ในภาษา C++

ตัวอย่างที่ 1: การลดการอ้างอิง Int







ในโค้ดนี้ เราจะพยายามยกเลิกการอ้างอิง 'int' ในภาษา C++ ตอนนี้เราเพียงแค่รวมไฟล์ส่วนหัว 'iostream' เพื่อใช้ฟังก์ชันที่กำหนดไว้ ด้านล่างนี้ เราใช้ 'namespace std' และเรียกใช้เมธอด 'main()' ที่นี่ จากนั้นเราประกาศตัวแปร “my_num” ด้วยประเภทข้อมูล “int” และกำหนด “99” ให้กับตัวแปรนี้



ตอนนี้เราประกาศ 'my_value' ของประเภทข้อมูล 'int' และเริ่มต้นด้วย '*my_num' ซึ่งหมายความว่าเรากำลังพยายามยกเลิกการอ้างอิงตัวแปร 'my_num' ซึ่งเป็นประเภทข้อมูล 'int' เกิดข้อผิดพลาดในบรรทัดนี้ขณะคอมไพล์เนื่องจากเราไม่สามารถยกเลิกการอ้างอิง 'int' ได้ เราต้องการแสดงค่าที่เราได้รับหลังจากยกเลิกการอ้างอิง int ดังนั้นเราจึงวาง 'cout' ที่เราเพิ่มตัวแปร 'my_value'



รหัส 1:





#รวม
ใช้เนมสเปซมาตรฐาน;
int หลัก - - -
int my_num = 99 -
int my_value = - my_num;
ศาล - 'คุณค่าที่เราได้รับจากการยกเลิกการอ้างอิง int คือ: ' - my_value - จบ;
กลับ 0 -
-

เอาท์พุท:



ที่นี่เราอาจสังเกตเห็นว่าไม่มีการแสดงค่าและมีข้อผิดพลาดเกิดขึ้นซึ่งระบุว่ามีอาร์กิวเมนต์ประเภท unary “*” ที่ไม่ถูกต้อง ซึ่งหมายความว่าเราไม่สามารถยกเลิกการอ้างอิง 'int' ในภาษา C ++ ได้

โซลูชันที่ 1: โดยไม่มีการลดการอ้างอิง

ที่นี่เราจะได้รับค่าจำนวนเต็มโดยตรงโดยไม่ต้องตัดการอ้างอิง เรานำเข้าไฟล์ส่วนหัว “iostream” เนื่องจากมีคำจำกัดความฟังก์ชันบางอย่างอยู่ จากนั้นเราพิมพ์ 'namespace std' พร้อมกับคีย์เวิร์ด 'using' จากนั้นเรียกเมธอด 'main()' ที่นี่ ตอนนี้เราเริ่มต้นตัวแปร 'my_num' ของประเภทข้อมูล 'int' ด้วยค่า '99'

จากนั้นเราเริ่มต้นตัวแปรอื่นด้วยชื่อ “my_value” และกำหนดให้กับตัวแปร “my_num” ซึ่งมีเลขจำนวนเต็ม หลังจากนี้ เราจะได้ค่าจำนวนเต็มนี้โดยตรงโดยไม่ต้องทำการยกเลิกการอ้างอิงโดยการวาง 'my_value' ไว้ใน 'cout' สิ่งนี้ได้รับและแสดงค่าจำนวนเต็ม

รหัส 1:

#รวม
ใช้เนมสเปซมาตรฐาน;
int หลัก - - -
int my_num = 99 -
int my_value = my_num;
ศาล - 'ค่าที่เราได้รับโดยไม่ต้องยกเลิกการอ้างอิง int คือ: ' - my_value - จบ;
กลับ 0 -
-

เอาท์พุท:

ค่าจำนวนเต็มจะแสดงที่นี่ ซึ่งเราได้รับโดยไม่ต้องยกเลิกการอ้างอิงในโค้ด C++ ของเรา เราเข้าถึงค่าจำนวนเต็มนี้โดยตรงและแสดงมัน

โซลูชันที่ 2: โดยการยกเลิกการอ้างอิงตัวชี้

ไฟล์ส่วนหัว “iostream” มีคำจำกัดความฟังก์ชันบางอย่าง เรานำเข้ามา ต่อไป เราจะเรียกใช้ฟังก์ชัน 'main()' ที่นี่หลังจากพิมพ์ 'namespace std' และคีย์เวิร์ด 'using' ขณะนี้ตัวแปร “my_num” ของประเภทข้อมูล “int” ได้รับการเริ่มต้นด้วยค่า “99” แล้ว

หลังจากนี้ เราจะเริ่มต้นตัวชี้ “my_ptr” และกำหนดที่อยู่ของตัวแปร “my_num” ให้กับตัวชี้นี้ ภายใต้สิ่งนี้ เราจะยกเลิกการอ้างอิงตัวชี้และกำหนดค่าที่เราได้รับผ่านสิ่งนี้ให้กับตัวแปร “my_value” ในขณะที่เราเริ่มต้น “my_value” ด้วย “*my_ptr” ตอนนี้เราวาง 'cout' ซึ่งเราส่งตัวแปร 'my_value' เพื่อแสดงค่าจำนวนเต็มซึ่งเราได้รับจากการยกเลิกการอ้างอิงตัวชี้

รหัส 2:

#รวม
ใช้เนมสเปซมาตรฐาน;
int หลัก - - -
int my_num = 99 -
ภายใน - my_ptr = - my_num;
int my_value = - my_ptr;
ศาล - 'ค่าของ int ที่เราได้รับจากการยกเลิกการอ้างอิงตัวชี้คือ: ' - my_value - จบ;
กลับ 0 -
-

เอาท์พุท:

ค่าจำนวนเต็มที่เราได้รับหลังจากยกเลิกการอ้างอิงตัวชี้ในโค้ดของเราจะแสดงที่นี่แล้ว นี่เป็นวิธีที่ถูกต้องในการใช้การลดการอ้างอิงใน C ++

ตัวอย่างที่ 2: การลดการอ้างอิง Int

เรามาลองยกเลิกการอ้างอิง 'int' ในภาษา C ++ ในโค้ดนี้ หากต้องการใช้ฟังก์ชันที่กำหนดไว้ใน 'iostream' เราเพียงแค่ต้องรวมไฟล์ส่วนหัว 'iostream' นี่คือที่ที่เราใช้ 'namespace std' และเรียกใช้ฟังก์ชัน 'main()' ต่อไป เราสร้างตัวแปร “a” และกำหนดให้เป็นประเภทข้อมูล “int” พร้อมกับค่า “75”

ด้านล่างนี้ เราสร้างพอยน์เตอร์ชื่อ 'newPointer' และกำหนดที่อยู่ของตัวแปร 'a' ให้กับพอยน์เตอร์นี้โดยใช้ '&' จากนั้น เราเริ่มต้นตัวแปร “num” ด้านล่างด้วย “*a” ซึ่งบ่งชี้ว่าเรากำลังพยายามยกเลิกการอ้างอิงตัวแปร “a” ซึ่งเป็นประเภทข้อมูล “int” เนื่องจากเราไม่สามารถยกเลิกการอ้างอิง 'int' ได้ จึงทำให้เกิดข้อผิดพลาดในบรรทัดนี้ระหว่างการคอมไพล์ หลังจากนี้ เรายังใช้ 'cout' ซึ่งเราเพิ่มตัวแปร 'num'

รหัส 2:

#รวม
ใช้เนมสเปซมาตรฐาน;
int หลัก - - -
อินท์เอ= 75 -
ภายใน - ตัวชี้ใหม่ = - ก;
หมายเลข int = - ก;
ศาล - 'ค่าของการยกเลิกการอ้างอิง int คือ: ' - หนึ่ง - จบ;
กลับ 0 -
-

เอาท์พุท:

ที่นี่เราจะเห็นว่าไม่มีค่าที่แสดงและมีข้อความแสดงข้อผิดพลาดระบุว่า 'พารามิเตอร์ประเภท unary ที่ไม่ถูกต้อง'*' ปรากฏขึ้น สิ่งนี้บ่งชี้ว่า 'int' ไม่สามารถยกเลิกการอ้างอิงในภาษา C ++

โซลูชันที่ 1: โดยไม่มีการลดการอ้างอิง

เราไม่จำเป็นต้องพิจารณาซ้ำเพื่อให้ได้ค่าจำนวนเต็มทันที เรานำเข้าเนื่องจากไฟล์ส่วนหัว 'iostream' มีคำจำกัดความฟังก์ชันบางอย่าง จากนั้นฟังก์ชัน “main()” จะถูกเรียกใช้หลังจากป้อนคีย์เวิร์ด “using” และ “namespace std” แล้ว ขณะนี้ตัวแปร 'a' ของประเภทข้อมูล 'int' ได้รับการเริ่มต้นด้วยค่า '75' หลังจากนั้น เราใส่ 'a' เข้าไปใน 'cout' เพื่อให้ได้ค่าจำนวนเต็มนี้ทันทีโดยไม่ต้องทำการอ้างอิงซ้ำ วิธีนี้จะดึงค่าจำนวนเต็มและแสดงไว้ที่นี่

รหัส 1:

#รวม
ใช้เนมสเปซมาตรฐาน;
int หลัก - - -
อินท์เอ= 75 -
ศาล - 'คุณค่าที่เราได้รับโดยไม่ต้องลดการอ้างอิงคือ: ' - - จบ;
กลับ 0 -
-

เอาท์พุท:

ค่าจำนวนเต็มที่ได้รับจากโค้ด C++ ของเราโดยไม่มีการตัดการอ้างอิงจะแสดงไว้ที่นี่ ค่าจำนวนเต็มนี้สามารถเข้าถึงได้ทันทีและแสดงไว้ที่นี่

โซลูชันที่ 2:

เรานำเข้าไฟล์ส่วนหัว “iostream” ที่มีคำจำกัดความฟังก์ชันบางอย่าง ที่นี่เราพิมพ์ 'namespace std' และคีย์เวิร์ด 'using' ก่อนที่จะดำเนินการฟังก์ชัน 'main()' ค่า '75' ถูกกำหนดให้กับตัวแปร 'a'

ต่อไป เราจะประกาศพอยน์เตอร์ที่เรียกว่า “mypointer” และเริ่มต้นด้วยที่อยู่ของตัวแปร “a” ภายใต้สิ่งนี้ เราจะอ้างอิงตัวชี้และกำหนดค่าที่เราได้รับจากสิ่งนี้ให้กับตัวแปร 'ผลลัพธ์' ในขณะที่เราเริ่มต้น 'ผลลัพธ์' ด้วย '*mypointer' หลังจากยกเลิกการอ้างอิงตัวชี้แล้ว เราจะวางคำสั่ง 'cout' และส่งตัวแปร 'result' เพื่อแสดงค่าจำนวนเต็ม

รหัส 2:

#รวม
ใช้เนมสเปซมาตรฐาน;
int หลัก - - -
อินท์เอ= 75 -
ภายใน - ตัวชี้ของฉัน = - ก;
ผลลัพธ์ int = - ตัวชี้ของฉัน;
ศาล - 'คุณค่าที่เราได้รับจากการยกเลิกการอ้างอิงตัวชี้คือ: ' - ผลลัพธ์ - จบ;
กลับ 0 -
-

เอาท์พุท:

นี่เป็นเทคนิคที่เหมาะสมในการใช้การลดการอ้างอิงใน C ++ มันแสดงค่าจำนวนเต็มที่เราได้รับหลังจากยกเลิกการอ้างอิงตัวชี้แทนการยกเลิกการอ้างอิง 'int'

บทสรุป

เราสำรวจว่าเมื่อเราพยายามรับค่าโดยการยกเลิกการอ้างอิง “int” ใน C++ ข้อผิดพลาด “พารามิเตอร์ประเภทที่ไม่ถูกต้องของ unary “*” ที่มี int” ข้อผิดพลาดจะเกิดขึ้น ซึ่งหมายความว่า “int ไม่สามารถถูกยกเลิกการอ้างอิงใน C++” เรายังอธิบายวิธีแก้ปัญหาข้อผิดพลาดนี้ด้วย เราใช้รหัสที่เกิดข้อผิดพลาดและรหัสที่เราให้ไว้เพื่อแก้ไขข้อผิดพลาดนั้นในคู่มือนี้