在你的程序中 q1(逻辑矢量)+1(整数)不满足算术操作符“+”对应的操作数必须是整数类型,且相加的和也为整数类型的要求。这里的“+”已经被赋予了新的含义和功能,所以这里的“+”就是算重载函数。他的新的含义是在std_logic_unsigned程序包中定义的,所以要在程序前面加上“use ieee.std_logic_unsigned.all;”。同理 有“-”就需在程序中加上“use ieee.std_logic_signed.all;”。