问题列表 - 第28898页

C++模板基类的编译器警告

我得到了一个编译器警告,我在这种情况下不理解.当我从以下代码编译"Child.cpp"时.(不要错过:我将我的课堂声明剥离到最低限度,所以内容没有多大意义,但你会更快地看到问题).我在最高警告级别上使用Visual Studio 2003Visual Studio 2008收到警告.


代码

AbstractClass.h:

#include <iostream>

template<typename T>
class AbstractClass
{
    public:
        virtual void Cancel(); // { std::cout << "Abstract Cancel" << std::endl; };
        virtual void Process() = 0;
};

// Outside definition. If I comment out this and take the inline
// definition like above (currently commented out), I don't get
// a compiler warning.
template<typename T>
void AbstractClass<T>::Cancel()
{
    std::cout << "Abstract Cancel" << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

Child.h:

#include "AbstractClass.h"

class Child …
Run Code Online (Sandbox Code Playgroud)

c++ templates base-class compiler-warnings

13
推荐指数
2
解决办法
5073
查看次数

由于LARGEADDRESSAWARE,检测指针算术

我想将我的应用程序切换到LARGEADDRESSAWARE.需要注意的一个问题是指针算法,因为指针差异不能再表示为带符号32b.

有没有办法如何在大型C++项目中自动查找指针减法的所有实例?

如果没有,是否有一些"尽力而为"的手动或半自动方法如何实现这一目标?

c++ pointers static-analysis visual-studio

8
推荐指数
1
解决办法
2030
查看次数

如何删除命名空间前缀。(C#)

我有一个 XElement,是由如下所示的转换产生的。

<src:Person xmlns:src="http://www.palantir.za">
  <src:Name>Jenifer Harvey</src:Name>
  <src:BirthDate>1969-11-13</src:BirthDate>
  <src:IdentityNumber>6906678550017</src:IdentityNumber>
  <src:Sex>Male</src:Sex>
</src:Person> 
Run Code Online (Sandbox Code Playgroud)

我想将此 XElement 转换为一个新的 XElement,该 XElement 将“src”作为默认命名空间,而不是如上所述的“命名”命名空间。

我意识到它们在语义上可能是相同的,我只是想保持存储内容的一致性。

我想要以下内容。

<Person xmlns="http://www.palantir.za">
        <Name>Jenifer Harvey</Name>
        <BirthDate>1969-11-13</BirthDate>
        <IdentityNumber>6906678550017</IdentityNumber>
        <Sex>Male</Sex>
</Person> 
Run Code Online (Sandbox Code Playgroud)

谢谢

问候

克雷格.

c# xml default namespaces

5
推荐指数
1
解决办法
1万
查看次数

如何在Doxygen中包含自定义文件

我想添加自定义(非项目)文件以使用Doxygen生成一些额外的页面.

我(实际上)不确定应该如何命名这些文件以及如何格式化它们的内容.

doxygen

46
推荐指数
4
解决办法
5万
查看次数

如何获得POSIX strerror_r而不是GNU版本?

如何获取POSIX strerror_r而不是GNU版本?

我正在使用glibc 2.7版(基于其中的内容)在Ubuntu 8.04上使用g ++进行编译.

编辑

在上面的手册页中,它说:

glibc的功能测试宏要求(参见feature_test_macros(7)):

   The XSI-compliant version of strerror_r() is provided if:
   (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && ! _GNU_SOURCE
   Otherwise, the GNU-specific version is provided.
Run Code Online (Sandbox Code Playgroud)

然后在feature_test_macros(7)中说:

   If no feature test macros are explicitly defined, then the following feature
   test macros are defined by default: _BSD_SOURCE, _SVID_SOURCE, _POSIX_SOURCE,
   and _POSIX_C_SOURCE=200809L (200112L in glibc versions before 2.10; 199506L in
   glibc versions before 2.4; 199309L in glibc versions before 2.1).
Run Code Online (Sandbox Code Playgroud)

所以我应该得到POSIX版本,但我得到的是GNU版本.

ubuntu posix glibc g++

10
推荐指数
1
解决办法
4768
查看次数

如何查找String是否包含html数据?

如何查找字符串是否包含HTML数据?用户通过Web界面提供输入,很可能他可以使用简单文本或使用HTML格式.

html java

21
推荐指数
2
解决办法
3万
查看次数

MATLAB如何在文本文件中编写头文件

如何在文本文件中写入文本标题?例如在下面的例子中,如何只写code salay month一次标题?

Code Salary Month
12   1000   12
14   1020   11
11   1212   9 
Run Code Online (Sandbox Code Playgroud)

代码:

fid = fopen('analysis1.txt','wt');
for i=1:10
   array = []; % empty the array
   ....
   array = [code salary month];
   format short g;
   fprintf(fid,'%g\t %g\t %g\n',array); % write to file
end
fclose(fid);
Run Code Online (Sandbox Code Playgroud)

file-io matlab header file text-files

4
推荐指数
1
解决办法
2万
查看次数

如何使用javascript从字母数字字符串值中拆分数值?

如何使用java脚本从字母数字字符串值中拆分数值?

例如,

x = "example123";
Run Code Online (Sandbox Code Playgroud)

从这个我需要 123

谢谢.

javascript split

6
推荐指数
1
解决办法
7831
查看次数

如何在HTML/Javascript中创建可编辑的组合框?

我需要让用户从下拉列表中选择一个项目,但也允许他们输入任何文本,即使它与列表中的项目不匹配.如何在包含HTML和Javascript的网页上实现此目的?

select字段不允许用户输入文本,input文本字段不显示首选替代项.

如果用户打开下拉列表,则必须显示所有项目,因此它不能是仅显示匹配项目的简单自动完成.

html javascript combobox drop-down-menu

32
推荐指数
2
解决办法
10万
查看次数

使用Alarmmanager在特定时间启动服务

我已经搜索了很多地方但是找不到如何使用AlarmManager每天在特定时间启动服务(或者如果那不可能那么活动)的清晰顺序解释?

我想注册几个这样的警报并触发它们应该导致服务启动.我将在服务中有一小段代码,然后可以执行,我可以完成服务....

Calendar cal = Calendar.getInstance();
Calendar cur_cal = Calendar.getInstance();
cur_cal.setTimeInMillis(System.currentTimeMillis());
Date date = new Date(cur_cal.get(Calendar.YEAR), cur_cal.get(Calendar.MONTH), cur_cal.get(Calendar.DATE), 16, 45);
cal.setTime(date);
Intent intent = new Intent(ProfileList.this, ActivateOnTime.class);
intent.putExtra("profile_id", 2);
PendingIntent pintent = PendingIntent.getService(ProfileList.this, 0, intent, 0);
AlarmManager alarm = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
alarm.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pintent);
System.out.println("The alarm set!!");
Run Code Online (Sandbox Code Playgroud)

我尝试使用此代码在4.45激活警报...但它没有启动服务...我是否必须保持进程运行?我做错了什么?

还有一件事,如果我使用以下代码,我的服务将完美执行:

long firstTime = SystemClock.elapsedRealtime();
alarm.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, firstTime, 30*1000,pintent);
Run Code Online (Sandbox Code Playgroud)

service android alarm alarmmanager

27
推荐指数
3
解决办法
9万
查看次数