模板类无法编译通过,谁能帮我解释

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模板类无法编译通过,谁能帮我解释相关的知识,希望对你有一定的参考价值。

//这是一个带模板的类定义,类定义当中还定义了一个结构体类型
//被注释的那个函数无法编译通过
//错误输出是(不知所云):
/*
warning C4346: “class_A<T>::struct_A” : 依赖名称不是类型
用“typename”为前缀来表示类型
error C2143: 语法错误 : 缺少“;”(在“*”的前面)
error C2501: “class_A<T>::struct_A” : 缺少存储类或类型说明符
error C2065: “T” : 未声明的标识符
error C2955: “class_A” : 使用类模板需要模板参数列表
参见“class_A”的声明
*/
//疑问在下面的注释中:

template <class T>
class class_A

private:
T * my_object;

public:
struct struct_A

int a;
int b;
;

public:
class_A( T * object )

my_object = object;


~class_A()

delete my_object;


struct_A * generate_new_struct_A_instance();
;

//这个注释掉的函数无法编译通过
/*
template <class T>
class_A <T> ::struct_A * class_A <T>::generate_new_struct_A_instance()

struct_A * new_instance = new struct_A;
new_instance->a = 1;
new_instance->b = 2;
return new_instance;

*/

//但把类模板T改成某个实际类型, 比如double, 却编译通过了:
class_A <double> ::struct_A * class_A <double>::generate_new_struct_A_instance()

struct_A * new_instance = new struct_A;
new_instance->a = 1;
new_instance->b = 2;
return new_instance;

to cdhover: 但为什么写成double的那个函数不需要加typename呢?

返回值前面加个 typename就可以,
这是为了告诉编译器class_A<T>::struct_A是一种类型而不是类的成员变量

其实:
warning C4346: “class_A<T>::struct_A” : 依赖名称不是类型
用“typename”为前缀来表示类型
编译器说的非常明确了!

VS7.1上编译通过!VS6.0不知道可不可以!

template <class T>
typename class_A<T>::struct_A* //---这里加个typename
class_A<T>::generate_new_struct_A_instance()

struct_A * new_instance = new struct_A;
new_instance->a = 1;
new_instance->b = 2;
return new_instance;


///
改成double 为什么可以,我很长时间没看模板了,具体我也不清楚!
我估计对于特化的函数是把它当作一般函数那样编译的!
参考技术A 没问题,请贴完整程序。

谁能帮我确定heroku应用程序错误

【中文标题】谁能帮我确定heroku应用程序错误【英文标题】:Can anyone help me identify that heroku application error 【发布时间】:2021-08-06 15:26:04 【问题描述】:

打开我部署的应用后,出现错误:

应用程序发生错误,无法提供您的页面。如果您是应用程序所有者,请查看您的日志以获取详细信息。您可以从 Heroku CLI 使用以下命令执行此操作 heroku 日志 --tail

你能帮我解决或识别那个错误吗?

有日志

 »   Warning: heroku update available from 7.47.6 to 7.53.1.
2021-05-17T08:07:01.958623+00:00 app[api]: Release v1 created by user filip.antoniak99@gmail.com
2021-05-17T08:07:01.958623+00:00 app[api]: Initial release by user filip.antoniak99@gmail.com
2021-05-17T08:07:02.185037+00:00 app[api]: Enable Logplex by user filip.antoniak99@gmail.com
2021-05-17T08:07:02.185037+00:00 app[api]: Release v2 created by user filip.antoniak99@gmail.com
2021-05-17T08:09:13.560585+00:00 heroku[router]: at=info code=H81 desc="Blank app" method=GET path="/" host=ergonomizer.herokuapp.com request_id=5b27d2eb-9b93-4169-b5a1-c5041f0c46d4 fwd="37.249.138.76" dyno= connect= service= status=502 bytes= protocol=https
2021-05-17T08:09:13.788320+00:00 heroku[router]: at=info code=H81 desc="Blank app" method=GET path="/favicon.ico" host=ergonomizer.herokuapp.com request_id=0f06c72b-8d59-4409-9946-a343a7ac7b57 fwd="37.249.138.76" dyno= connect= service= status=502 bytes= protocol=https
2021-05-17T08:10:38.000000+00:00 app[api]: Build started by user filip.antoniak99@gmail.com
2021-05-17T08:10:57.000000+00:00 app[api]: Build failed -- check your build output: https://dashboard.heroku.com/apps/9afe7277-a8cc-4782-b52d-bb5698d2273c/activity/builds/be2f281b-2961-4df6-8abd-bd691199f6d4
2021-05-17T08:14:21.000000+00:00 app[api]: Build started by user filip.antoniak99@gmail.com
2021-05-17T08:14:40.000000+00:00 app[api]: Build failed -- check your build output: https://dashboard.heroku.com/apps/9afe7277-a8cc-4782-b52d-bb5698d2273c/activity/builds/aba64d28-3b09-4ca9-a0db-a5277ff0eac5
2021-05-17T08:18:00.000000+00:00 app[api]: Build started by user filip.antoniak99@gmail.com
2021-05-17T08:18:20.000000+00:00 app[api]: Build failed -- check your build output: https://dashboard.heroku.com/apps/9afe7277-a8cc-4782-b52d-bb5698d2273c/activity/builds/9273f61b-0a02-414f-b7cc-0674b19f8b80
2021-05-17T08:27:17.000000+00:00 app[api]: Build started by user filip.antoniak99@gmail.com
2021-05-17T08:27:35.000000+00:00 app[api]: Build failed -- check your build output: https://dashboard.heroku.com/apps/9afe7277-a8cc-4782-b52d-bb5698d2273c/activity/builds/fafc1f20-de69-42db-ac3c-9ff694e26b1c
2021-05-17T08:36:02.612360+00:00 app[api]: Release v3 created by user filip.antoniak99@gmail.com
2021-05-17T08:36:02.612360+00:00 app[api]: Set DEBUG_COLLECTSTATIC config vars by user filip.antoniak99@gmail.com
2021-05-17T08:36:25.000000+00:00 app[api]: Build started by user filip.antoniak99@gmail.com
2021-05-17T08:36:43.000000+00:00 app[api]: Build failed -- check your build output: https://dashboard.heroku.com/apps/9afe7277-a8cc-4782-b52d-bb5698d2273c/activity/builds/1aec1594-6d19-47f8-a451-0c5d1f15c6a3
2021-05-17T08:39:14.000000+00:00 app[api]: Build started by user filip.antoniak99@gmail.com
2021-05-17T08:39:33.000000+00:00 app[api]: Build failed -- check your build output: https://dashboard.heroku.com/apps/9afe7277-a8cc-4782-b52d-bb5698d2273c/activity/builds/5171d008-78eb-4fae-a116-b768ff1d159b
2021-05-17T09:32:16.000000+00:00 app[api]: Build started by user filip.antoniak99@gmail.com
2021-05-17T09:32:36.000000+00:00 app[api]: Build failed -- check your build output: https://dashboard.heroku.com/apps/9afe7277-a8cc-4782-b52d-bb5698d2273c/activity/builds/0d585658-1af6-42c1-9c0d-e06bc8873f50
2021-05-17T10:26:40.628560+00:00 app[api]: Set DISABLE_COLLECTSTATIC config vars by user filip.antoniak99@gmail.com
2021-05-17T10:26:40.628560+00:00 app[api]: Release v4 created by user filip.antoniak99@gmail.com
2021-05-17T10:27:26.390340+00:00 app[api]: Starting process with command `python manage.py migrate` by user filip.antoniak99@gmail.com
2021-05-17T10:27:27.160556+00:00 heroku[run.3098]: State changed from starting to up
2021-05-17T10:27:27.539912+00:00 heroku[run.3098]: Awaiting client
2021-05-17T10:27:27.828949+00:00 heroku[run.3098]: Starting process with command `python manage.py migrate`
2021-05-17T10:27:33.036554+00:00 heroku[run.3098]: Process exited with status 2
2021-05-17T10:27:33.114314+00:00 heroku[run.3098]: State changed from up to complete
2021-05-17T10:27:55.354359+00:00 app[api]: Starting process with command `python manage.py migrate` by user filip.antoniak99@gmail.com
2021-05-17T10:27:56.074230+00:00 heroku[run.8859]: State changed from starting to up
2021-05-17T10:27:57.101824+00:00 heroku[run.8859]: Awaiting client
2021-05-17T10:27:57.421822+00:00 heroku[run.8859]: Starting process with command `python manage.py migrate`
2021-05-17T10:28:02.939403+00:00 heroku[run.8859]: Process exited with status 2
2021-05-17T10:28:03.031256+00:00 heroku[run.8859]: State changed from up to complete
2021-05-17T10:41:59.000000+00:00 app[api]: Build started by user filip.antoniak99@gmail.com
2021-05-17T10:42:35.566369+00:00 app[api]: Attach DATABASE (@ref:postgresql-rectangular-00610) by user filip.antoniak99@gmail.com
2021-05-17T10:42:35.566369+00:00 app[api]: Running release v5 commands by user filip.antoniak99@gmail.com
2021-05-17T10:42:35.579961+00:00 app[api]: Release v6 created by user filip.antoniak99@gmail.com
2021-05-17T10:42:35.579961+00:00 app[api]: @ref:postgresql-rectangular-00610 completed provisioning, setting DATABASE_URL. by user filip.antoniak99@gmail.com
2021-05-17T10:42:36.125632+00:00 app[api]: Deploy f58bcf3c by user filip.antoniak99@gmail.com
2021-05-17T10:42:36.125632+00:00 app[api]: Release v7 created by user filip.antoniak99@gmail.com
2021-05-17T10:42:44.021375+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/" host=ergonomizer.herokuapp.com request_id=26eedc45-1106-4700-87fe-f030f7e8dbd5 fwd="31.0.57.90" dyno= connect= service= status=503 bytes= protocol=https
2021-05-17T10:42:44.261606+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/favicon.ico" host=ergonomizer.herokuapp.com request_id=5aef3467-ace1-4b23-97c1-55cbecfbf38a fwd="31.0.57.90" dyno= connect= service= status=503 bytes= protocol=https
2021-05-17T10:42:46.000000+00:00 app[api]: Build succeeded
2021-05-17T10:42:52.926191+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/" host=ergonomizer.herokuapp.com request_id=5af96fed-fc1d-4cca-ad16-b3c0c415ff02 fwd="31.0.57.90" dyno= connect= service= status=503 bytes= protocol=https
2021-05-17T10:42:53.130439+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/favicon.ico" host=ergonomizer.herokuapp.com request_id=0f4f9b5b-bedc-4980-a6bd-4d5e72c613aa fwd="31.0.57.90" dyno= connect= service= status=503 bytes= protocol=https
2021-05-17T10:43:09.084488+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/" host=ergonomizer.herokuapp.com request_id=e401b7a2-d108-4464-bbda-d53a7678f2a2 fwd="31.0.57.90" dyno= connect= service= status=503 bytes= protocol=https
2021-05-17T10:43:09.230756+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/favicon.ico" host=ergonomizer.herokuapp.com request_id=05b7e114-46bb-4fb1-a470-715e5e9499aa fwd="31.0.57.90" dyno= connect= service= status=503 bytes= protocol=https
2021-05-17T10:43:25.092267+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/" host=ergonomizer.herokuapp.com request_id=1c770cd6-0768-406b-920e-a1e7a524fd7b fwd="31.0.57.90" dyno= connect= service= status=503 bytes= protocol=https
2021-05-17T10:43:25.311492+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/favicon.ico" host=ergonomizer.herokuapp.com request_id=8b0ef7b1-7631-4d7e-975c-022f2f03ef9e fwd="31.0.57.90" dyno= connect= service= status=503 bytes= protocol=https
2021-05-17T10:48:12.890530+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/" host=ergonomizer.herokuapp.com request_id=1c7c6244-3d61-452f-9e74-51009db2dead fwd="31.0.57.90" dyno= connect= service= status=503 bytes= protocol=https
2021-05-17T10:48:13.048375+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/favicon.ico" host=ergonomizer.herokuapp.com request_id=c9c1bc6b-9633-421b-8d3b-47edc558f518 fwd="31.0.57.90" dyno= connect= service= status=503 bytes= protocol=https
2021-05-17T10:49:15.039546+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/" host=ergonomizer.herokuapp.com request_id=d859b842-a572-4fd5-afcf-cd3538688e5d fwd="31.0.57.90" dyno= connect= service= status=503 bytes= protocol=https
2021-05-17T10:49:15.203787+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/favicon.ico" host=ergonomizer.herokuapp.com request_id=f53fc105-4344-48c4-8905-d94fde7750f5 fwd="31.0.57.90" dyno= connect= service= status=503 bytes= protocol=https
2021-05-17T10:56:13.290200+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/" host=ergonomizer.herokuapp.com request_id=f8e7e055-c897-4f0d-b335-65f2a001ea15 fwd="31.0.57.90" dyno= connect= service= status=503 bytes= protocol=https
2021-05-17T10:56:13.520588+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/favicon.ico" host=ergonomizer.herokuapp.com request_id=0d57aaa8-35f3-4456-a5b3-73fafc9fa62e fwd="31.0.57.90" dyno= connect= service= status=503 bytes= protocol=https
2021-05-17T10:59:10.000000+00:00 app[api]: Build started by user filip.antoniak99@gmail.com
2021-05-17T10:59:48.872631+00:00 app[api]: Deploy ac36d40f by user filip.antoniak99@gmail.com
2021-05-17T10:59:48.872631+00:00 app[api]: Release v8 created by user filip.antoniak99@gmail.com
2021-05-17T11:00:01.000000+00:00 app[api]: Build succeeded
2021-05-17T11:00:06.427708+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/" host=ergonomizer.herokuapp.com request_id=c3f11b8f-8ba6-4b53-bef1-30575964b048 fwd="31.0.57.90" dyno= connect= service= status=503 bytes= protocol=https
2021-05-17T11:00:06.627461+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/favicon.ico" host=ergonomizer.herokuapp.com request_id=642b6026-4a94-4900-94ec-2c47385dfcb9 fwd="31.0.57.90" dyno= connect= service= status=503 bytes= protocol=https
2021-05-17T11:00:15.576396+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/" host=ergonomizer.herokuapp.com request_id=a6276757-6752-4788-83e2-8d3deb0bcc06 fwd="31.0.57.90" dyno= connect= service= status=503 bytes= protocol=https
2021-05-17T11:00:15.781029+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/favicon.ico" host=ergonomizer.herokuapp.com request_id=0b588976-087f-4a95-9416-fbf10edc9165 fwd="31.0.57.90" dyno= connect= service= status=503 bytes= protocol=https

【问题讨论】:

也许看看***.com/questions/41804507/… 【参考方案1】:

这可能是因为 heroku 可能无法启动您的服务器。这里有几点需要注意:

    Procfile 应位于项目的根目录。 确保您指向wsgi.py 文件的正确路径。

这是我在github上上传的一个项目,通过Procfile查看。

github-Ajinkya2000

【讨论】:

嗨,你能帮我找出我的应用程序在尝试在 heroku 上部署时出现的错误

以上是关于模板类无法编译通过,谁能帮我解释的主要内容,如果未能解决你的问题,请参考以下文章

谁能帮我解释下PHP的MVC框架呀?用通俗易懂的语言吧,我是小白, 感激不尽!

类模板构造函数中的 SFINAE

模板类的向量?

谁能帮我解释一下 FBX 格式?

codeigniter 解析模板中的内容

谁能帮我解释一下“哈希表”的详细含义?谢谢了